gpt4 book ai didi

bash - "kill -INT $pid"不会终止进程,但 ctrl+c 会

转载 作者:行者123 更新时间:2023-12-04 15:42:18 25 4
gpt4 key购买 nike

我有一个基本的 bash 脚本,它打印出它的 pid,然后数到 100:

echo $$
for i in {1..100}
do
echo $i
sleep 1
done

当我按下 ctrl+c 时,程序将在运行时停止,退出代码为 130。我正在尝试发送一个信号,该信号将模拟 ctrl+c 并导致程序停止并退出代码130.

当我从不同的终端窗口键入“kill -INT”时,没有任何反应,但据我所知,这应该与按 ctrl+c 相同。但是,当我键入“kill -9”时,我可以成功终止程序,尽管退出代码不同。如何使用中断信号停止我的程序,使其以正确的代码退出?

最佳答案

在进程 ID 前加上破折号“-”

kill -SIGINT -<pid>

这将终止进程,退出代码为 130。

UPD:为什么不使用默认情况下由 kill 命令发送的 SIGTERM(15)(没有信号编号或名称)?

关于bash - "kill -INT $pid"不会终止进程,但 ctrl+c 会,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57423209/

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