c++ - 如何查明第三方是否杀死或破坏了 C++ 程序

标签 c++ linux unix status

我们知道,在Linux-Unix的世界里,我们可以在终端中用ctrl+C来中断前台运行的程序并结束程序。

在 C++ 中我如何知道第三方破坏或强制终止 (kill -9) 程序?

我必须不断地检查线程的某些内容吗?当程序损坏时,我必须在程序中返回退出状态 130,当程序被终止时,我必须返回退出状态 140。

最佳答案

一些通过kill()发送的信号可以被捕获和处理。有些不能(例如 SIGKILL 这是 kill -9 的结果)。您的程序只是被内核终止并清理 - 它没有任何机会注意到发生了什么或以任何方式对其使用react。从程序的角度来看,这相当于用户从计算机上拔掉电源 - 程序就像头部中弹一样死掉。

关于c++ - 如何查明第三方是否杀死或破坏了 C++ 程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/76052363/

相关文章:

c++ - 为什么零初始化不是静态初始化

c++ - 返回实例导致 'attempting to reference a deleted function' 错误

c++ - Qt QSerialPort 缓冲

linux - 将 node.js 套接字服务器作为服务启动的 BASH 脚本

linux - 同时登录SSH两次

c++ - 错误 C++ 2679(二进制 '>>' : no operator found which takes a right-hand operand of type 'const std::string' (or there is no acceptable conversion))

c - gSOAP 不正确的响应数据

linux - 如何规范化 Bash 中的文件路径?

linux - 计算有多少个文件有字符串

unix - 编译minix需要多长时间?