C++ 如何在OSX中处理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后,我并没有找到继续申请的方法 我的主要目的是处理由

我有用于OSX的守护程序应用程序,我的应用程序中有用于SIGTERM的信号处理程序

我正在尝试为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处理程序,但行为仍然相同。