我只是想确保我了解前台和后台进程。假设我有一个程序 Hello_world。
如果我想启动程序,我在前台输入:
Hello_world
然后,如果我想在后台继续 Hello_world,我输入:
bg Hello_world
如果我想终止该工作,我输入:
kill -9 %(job#)
另外,我如何检查作业是否终止?
答案1
如果您输入:
jobs
它应该告诉您您的后台作业处于什么状态。
看手动的欲了解更多信息。
例子:
./job &
现在它在后台运行。
你可以通过以下方式杀死它:
kill %1
或使用任何开关,例如:
-HUP
-TERM
-KILL
无论如何最终你希望看到:
[1]+ Terminated ./job
这又是通过命令完成的jobs
。
答案2
伟大的@Vlastimil 的解释。我只想补充一点,你可以在前景/背景之间跳转:
重量%后台作业ID
例如,
目标%2
现在你把它带到了前台,你就处于这样的环境中,这意味着你可以:
暂停(停止/暂停):Ctrl+Z
中断: Ctrl+ C (这通常会导致进程终止;即退出)
在这一切过程中,您可以通过执行命令来查看正在运行的内容、暂停的内容以及终止的内容jobs
。
但是,是的,这就是通过 shell 管理实现后台/前台的主要方面。