Jader Dias Asked: 2009-07-17 18:54:15 +0800 CST2009-07-17 18:54:15 +0800 CST 2009-07-17 18:54:15 +0800 CST 如何将作业发送到后台而不停止它们? 772 Ctrl+z 将当前作业发送到后台,但将其停止。 以及如何恢复停止的工作? linux process 5 个回答 Voted Best Answer Matt Simmons 2009-07-17T18:59:20+08:002009-07-17T18:59:20+08:00 您可以运行“bg”在后台运行它。 "fg" 将其移至前台 请注意,bg 和 fg 使用作业 #s 而不是 PID,因此如果您有多个作业同时运行,请使用“作业”命令获取作业编号。 cas 2009-07-17T19:24:00+08:002009-07-17T19:24:00+08:00 您还可以在命令行上使用“&”将程序作为后台作业启动。 例如 我的程序 & 请注意,输出(stdout 和 stderr)仍将转到当前 tty,因此重定向到 /dev/null 或日志文件通常是个好主意,如下所示: 我的程序 > ~/program.log 2>&1 & 在任一示例中,它都是与其他任何示例一样的后台作业,因此您仍然可以使用“fg”将其带回前台(但如果您已重定向输出,您将看不到太多内容)。 Evan Anderson 2009-07-17T19:02:44+08:002009-07-17T19:02:44+08:00 在 bash 中,输入“bg”会将作业置于后台,直到它阻止需要输入。它将继续输出到 STDERR 和 STDOUT,这可能没有帮助。您可以输入“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 ~]$ 所以,这是开始一个长复制作业并暂停它,开始第二个长复制作业并暂停它,然后将第一个复制作业放入后台并让它运行,然后退出第一个复制作业。然后我把最后一个复印工作放到前台,让它完成。 Craig 2009-09-29T12:11:13+08:002009-09-29T12:11:13+08:00 nohup 任务.sh & 在后台运行,输出到当前目录中的 nohup.out。注销时继续运行。 Hay 2009-09-29T10:57:53+08:002009-09-29T10:57:53+08:00 另一种选择是出色的屏幕实用程序,它可用于同时运行多个进程,而无需保持终端打开。它还允许比 bg 和 fg 更容易的交互性。
您可以运行“bg”在后台运行它。
"fg" 将其移至前台
请注意,bg 和 fg 使用作业 #s 而不是 PID,因此如果您有多个作业同时运行,请使用“作业”命令获取作业编号。
您还可以在命令行上使用“&”将程序作为后台作业启动。
例如
请注意,输出(stdout 和 stderr)仍将转到当前 tty,因此重定向到 /dev/null 或日志文件通常是个好主意,如下所示:
在任一示例中,它都是与其他任何示例一样的后台作业,因此您仍然可以使用“fg”将其带回前台(但如果您已重定向输出,您将看不到太多内容)。
在 bash 中,输入“bg”会将作业置于后台,直到它阻止需要输入。它将继续输出到 STDERR 和 STDOUT,这可能没有帮助。您可以输入“fg”将作业带回前台。
所以,这是开始一个长复制作业并暂停它,开始第二个长复制作业并暂停它,然后将第一个复制作业放入后台并让它运行,然后退出第一个复制作业。然后我把最后一个复印工作放到前台,让它完成。
nohup 任务.sh &
在后台运行,输出到当前目录中的 nohup.out。注销时继续运行。
另一种选择是出色的屏幕实用程序,它可用于同时运行多个进程,而无需保持终端打开。它还允许比 bg 和 fg 更容易的交互性。