Ctrl + z将当前作业发送到后台,但将其停止。
以及如何恢复停止的工作?
你可以运行“bg”在后台运行它。
“fg”把它移到前台
请注意,bg和fg使用作业#而不是PID,因此如果您有多个作业同时运行,请使用“作业”命令获取作业编号。
您也可以在命令行上使用“&”作为后台作业来启动程序。
例如
myprogram&
请注意,输出(stdout和stderr)仍然会转到当前的tty,所以通常是redirect到/ dev / null或日志文件的好主意,如下所示:
myprogram>〜/ program.log 2>&1&
在任何一个例子中,这是一个后台工作,所以你仍然可以用“fg”把它带回前台(但是如果你redirect了输出,你将不会看到太多东西)。
在bash中,input“bg”会将作业置于后台直到它阻止需要input。 它将继续输出到STDERR和STDOUT这可能是无益的。 您可以input“fg”将作业恢复到前台。
[adjuster@mx02 ~]$ cp ~/crap/* ~/crap2 (Ctrl-Z) [1]+ Stopped cp ~/crap ~/crap2 [adjuster@mx02 ~]$ cp ~/crap3/* ~/crap4 (Ctrl-Z) [2]+ Stopped cp ~/crap3/* ~/crap [adjuster@mx02 ~]$ jobs [1]+ Stopped cp ~/crap ~/crap2 [2]+ Stopped cp ~/crap3/* ~/crap [adjuster@mx02 ~]$ bg 1 [1]- cp ~/crap ~/crap2 & [1]- Exit 1 cp ~/crap ~/crap2 [adjuster@mx02 ~]$ fg 2 [adjuster@mx02 ~]$
所以,这是开始一个长时间的复制工作,并暂停它,开始第二个长时间的复制工作,并暂停它,然后把第一个复印工作进入后台,让它运行,其次是退出第一个复印工作。 然后我把最后的复印作业放到前台,让它完成。
nohup task.sh&
在后台运行,输出到当前目录中的nohup.out。 注销时继续运行。
另一个select是优秀的屏幕实用程序,它可以用来同时运行多个进程,而不必保持terminal打开。 它也允许比bg和fg更容易的交互性。