【发布时间】:2009-10-04 02:40:54
【问题描述】:
我正在写一个shell。它分叉后台和前台进程。我对 SIGTSTP 信号有疑问。因此,在给出 Ctrl ^ Z 之后,会生成 SIGTSTP,因为此信号被传递到我的 shell 及其子进程(我的 shell 已分叉的所有后台和前台进程)。但就像在实际的 shell 中一样,SIGTSTP 只传递给前台进程,而不是后台进程。那么如何控制这种行为意味着阻止信号被发送到我的 shell 的后台进程呢?
我也试过setpgid(),这意味着改变后台进程的pgid。但是一旦进程执行完毕,setpgid() 就会返回错误。
【问题讨论】: