将进程拖放到后台

Too*_*rot 2 shell process background-process

如果我已经开始了一个流程,它花费的时间比我预期的要多,而且我很遗憾没有说rm foo &而不是rm foo,我可以做些什么来把它放到后台吗?

Ste*_*ris 8

在您可能使用的几乎所有 shell 中,您应该能够按 control-Z 来暂停进程,然后使用该bg命令在后台恢复它。

例如

$ sleep 1000
^Z[1] + Stopped                  sleep 1000

$ bg
[1] sleep 1000&

$ jobs
[1] +  Running                 sleep 1000

$ 
Run Code Online (Sandbox Code Playgroud)

请注意,某些作业(例如,要求用户输入的作业)不会在后台运行,而是会停止,等待返回前台 ( fg)。

(在某些情况下这不起作用,但它们往往是高度专业化的 - 例如嵌入式系统 - 或非常非常旧的 unix 版本)。

  • Nitpick:该作业不会在后台*重新启动*,而是已恢复。在许多情况下,重新启动它会产生非常奇怪的副作用。(不,我不是专门针对你。我觉得有必要对你的两个答案发表评论纯属巧合;-) (3认同)

归档时间:

查看次数:

608 次

最近记录:

9 年,5 月 前