我们知道,在Linux-Unix的世界里,我们可以在终端中用ctrl+C来中断前台运行的程序并结束程序。
在 C++ 中我如何知道第三方破坏或强制终止 (kill -9
) 程序?
我必须不断地检查线程的某些内容吗?当程序损坏时,我必须在程序中返回退出状态 130,当程序被终止时,我必须返回退出状态 140。
最佳答案
一些通过kill()
发送的信号可以被捕获和处理。有些不能(例如 SIGKILL
这是 kill -9
的结果)。您的程序只是被内核终止并清理 - 它没有任何机会注意到发生了什么或以任何方式对其使用react。从程序的角度来看,这相当于用户从计算机上拔掉电源 - 程序就像头部中弹一样死掉。
关于c++ - 如何查明第三方是否杀死或破坏了 C++ 程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/76052363/