首页 > 解决方案 > exit(0) 和 raise(SIGTERM) 有什么区别

问题描述

我正在尝试在某些特定事件上终止我的应用程序。为什么一个人会使用 exit(0) 或 raise(SIGTERM) 而不是另一个?

另外由于 exit(0) 将 EXIT_SUCCESS 返回给主机,SIGTERM 有什么作用?总是失败吗?

标签: c++ioscobjective-ciphone

解决方案


exit导致程序以正常退出状态终止,其值由 to 的参数给出exit,在您的情况下为 0。

raise发出一个信号,可能会被捕获。如果它没有被捕获或阻止,则执行默认操作。对于SIGTERM,默认动作是异常终止,导致异常终止的信号在程序的退出状态中可见。

这对 iOS 应用程序有什么影响,我不确定。


推荐阅读