C++ 如何在OSX中处理SIGTERM
我有用于OSX的守护程序应用程序,我的应用程序中有用于SIGTERM的信号处理程序 我正在尝试为SIGTERM实现一个签入应用程序 大概是这样的:C++ 如何在OSX中处理SIGTERM,c++,macos,unix,C++,Macos,Unix,我有用于OSX的守护程序应用程序,我的应用程序中有用于SIGTERM的信号处理程序 我正在尝试为SIGTERM实现一个签入应用程序 大概是这样的: void stAgentService::SIGTERM_handler(const int sigid) { if (SIGTERM == sigid) { continue; //continue to run the app } } 但在收到SIGTERM后,我并没有找到继续申请的方法 我的主要目的是处理由
void stAgentService::SIGTERM_handler(const int sigid) {
if (SIGTERM == sigid) {
continue; //continue to run the app
}
}
但在收到SIGTERM后,我并没有找到继续申请的方法
我的主要目的是处理由“launchctl unload”命令启动的SIGTERM。SIGTERM的意思是,您知道,您的进程应该终止。我敢打赌,如果你在收到
SIGTERM
后没有及时退出,那么真正杀死你进程的是SIGKILL
,它会强制杀死你的进程而不让你优雅地退出。回答你的问题:阻止SIGTERM
杀死你进程的方法是捕捉信号,这就是全部。continue
语句将不起任何作用。continue语句甚至不会编译,我这里不是指continue语句,我想写一些不会终止应用程序的代码。如果我不在stAgentService::SIGTERM_handler()内执行任何操作,我的应用程序仍然会被杀死。我试图一起删除SIGTERM处理程序,但行为仍然相同。