gpt4 book ai didi

c - 向后台进程发送信号

转载 作者:太空狗 更新时间:2023-10-29 11:23:34 25 4
gpt4 key购买 nike

我应该向后台进程发送哪个信号以将其移至前台? SIGTTIN、SIGTOU 还是...?

最佳答案

直接控制作业是前台还是后台的不是信号。这些作业在 shell 的控制下(通常)。

例如,在bash下,如果你执行:

pax> sleep 3600 &
pax> jobs

你会看到这样的输出:

[1]+  Running                 sleep 3600 &

然后,您可以使用以下方法将该作业带回前台:

pax> fg %1
sleep 3600

(终端等待)。

使用 CTRLZ 确实向进程发送信号(SIGSTOP)并将其放入背景,但唯一可以改变的信号是 SIGCONT(继续):

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 &

这将指示进程再次开始运行,但不会将其置于前台。为此,您需要 fg 命令。

最好分别考虑信号(影响进程)和前景/背景(通过确定进程是否等待来影响启动进程的 shell)。

关于c - 向后台进程发送信号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1844232/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com