gpt4 book ai didi

c - 处理系统重启产生的信号

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

每当我发出重启命令时,我的进程都会收到 SIGTERM 信号并进行处理。如果 SIGTERM 是由于重启,我不想处理它。

请给我任何想法。

有什么方法可以在我执行 system("reboot") 时向我的进程发送 kill -9 信号?

我正在使用 Cent OS (Linux)。

最佳答案

whenever i give reboot command,my process is receiving SIGTERM signal and is handling it. I dont want to handle it if the SIGTERM is due to reboot.

您可以尝试在您的信号处理程序中运行 /sbin/runlevel(嗯,也许在信号处理程序中甚至不可能产生进程)以获取当前运行级别。运行级别 6 是重启。

Is there any way to send kill -9 signal to my process when i do system(reboot).

如果您的进程由 init 脚本启动,您可以更改脚本,以便使用 kill -KILL 而不是其他方式执行停止。

I am using Cent OS(linux).

我不知道以下是否适用于 CentOS。

在 Debian 中,所有剩余的进程(在所有 kill 脚本运行后仍然存在的进程)都由 /etc/init.d/sendsigs 发出信号。如果您有管理员访问权限,您可以尝试对其进行自定义,以便一个特别命名的进程(您的)在没有 TERMing 的情况下被杀死。

仍然,/run/sendsigs.omit 中相关的所有 pids 和 /run/sendsigs.omit.d/ 中文件相关的所有 pids 没有收到任何信号。

关于c - 处理系统重启产生的信号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24665578/

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