在Unix中后台运行作业
我们运行一个交互式perl脚本,它从终端获取一组输入(该输入是脚本应该运行的时间),并一直运行到完成。作业在前台运行。我通过点击在Unix中后台运行作业,unix,Unix,我们运行一个交互式perl脚本,它从终端获取一组输入(该输入是脚本应该运行的时间),并一直运行到完成。作业在前台运行。我通过点击CTRL-Z然后点击bg%-命令,使作业在后台运行。 当前作业在后台运行后,如果我使用不同的输入集运行相同的perl脚本,并尝试将其放到后台,则当我点击CTRL-Z时,第一个作业将被终止,如下所示 ^Z[1]终止的脚本名 [2] +停止脚本名 请指出当您按^Z时,如果我犯了任何错误,正在运行的脚本将停止,bg后将继续(在后台)。 当您在命令行上执行某些操作时,您会收到b
CTRL-Z
然后点击bg%-
命令,使作业在后台运行。
当前作业在后台运行后,如果我使用不同的输入集运行相同的perl脚本,并尝试将其放到后台,则当我点击CTRL-Z
时,第一个作业将被终止,如下所示
^Z[1]终止的脚本名
[2] +停止脚本名
请指出当您按^Z时,如果我犯了任何错误,正在运行的脚本将停止,bg后将继续(在后台)。
当您在命令行上执行某些操作时,您会收到bg作业的反馈。
使用
[1]终止的scriptname
可以看到第一个脚本已完成。使用[2]+已停止的scriptname
可以看到第二个作业已暂停,正在等待bg/fg命令。使用^Z+bg与将
&
附加到命令(对于非交互式程序)大致相同。你可以用它来试东西
sleep 1 &
# now wait few seconds
ps
# you will see the terminated script
sleep 6 &
sleep 3; ps
sleep 4; ps
# and now repeat these cases with ^Z / bg instead of &
试试诺胡普
nohup nice <your_script followed by parameters(separated by space)> &
nohup nice&
它将为您提供进程id。点击Ctrl+C退出命令,并通过ps-ef验证它是否仍在运行。我记得像这样用不同的参数运行同一脚本的多个实例