【发布时间】:2014-06-10 06:36:07
【问题描述】:
我的应用程序使用 fork() 创建子进程。我在父进程中有一个信号处理程序。在信号处理程序中,我必须为父母和孩子做不同的逻辑。 即在信号处理程序中
case SIGSEGV:
if (parent)
{
cout<<"signal from parent";
}
else
{
cout <<"signal from child";
}
有可能吗?还是我必须保留两个不同的信号处理程序?
【问题讨论】:
-
信号总是进入目标进程。 SIGSEGV 总是从进程内部生成,除非您从外部进程触发它们(在
SIGSEGV的情况下不建议这样做)。 -
不知道有任何此类“来源信息”可用。
标签: c++ linux signals fork ipc