我应该向后台进程发送哪个信号以将其移至前台? SIGTTIN、SIGTOU 还是...?
它不是直接控制作业是前台还是后台的信号。这些作业(通常)处于 shell 的控制之下。
例如,在bash
,如果执行:
pax> sleep 3600 &
pax> jobs
你会看到类似的输出:
[1]+ Running sleep 3600 &
然后,您可以使用以下命令将该作业带回前台:
pax> fg %1
sleep 3600
(终端等待)。
Using CTRLZ does send a signal to the process (SIGSTOP
) as well as putting it into the background but the only signal that can change that is SIGCONT
(to continue):
pax> fg %1
sleep 3600
^Z
[1]+ Stopped sleep 3600
pax> jobs
[1]+ Stopped sleep 3600
pax> kill -CONT %1
pax> jobs
[1]+ Running sleep 3600 &
这将指示该进程再次开始运行,但它doesn't将其置于前台。为此,您需要fg
命令。
最好分别考虑信号(影响进程)和前台/后台(通过确定是否等待进程等来影响启动进程的 shell)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)