相关疑难解决方法(0)

为什么 SIGINT 在发送到其父进程时没有传播到子进程?

给定一个 shell 进程(例如sh)及其子进程(例如cat),如何使用 shell 的进程 ID模拟Ctrl+的行为C


这是我尝试过的:

运行sh然后cat

[user@host ~]$ sh
sh-4.3$ cat
test
test
Run Code Online (Sandbox Code Playgroud)

发送SIGINTcat从另一终端:

[user@host ~]$ kill -SIGINT $PID_OF_CAT
Run Code Online (Sandbox Code Playgroud)

cat 收到信号并终止(如预期)。

向父进程发送信号似乎不起作用。为什么信号cat在发送到其父进程时没有传播到sh

这不起作用:

[user@host ~]$ kill -SIGINT $PID_OF_SH
Run Code Online (Sandbox Code Playgroud)

shell process signals

77
推荐指数
4
解决办法
6万
查看次数

标签 统计

process ×1

shell ×1

signals ×1