当前位置: 技术问答>linux和unix
linux 信号及信号处理
来源: 互联网 发布时间:2017-01-08
本文导语: /////////////////////////////////////////////////////////////////////////////////////////////// // 父进程和子进程进行通信 // sig.c #include #include #include #include #include // 信号处理函数 void handler(int signo) { switch(signo) {...
///////////////////////////////////////////////////////////////////////////////////////////////
// 父进程和子进程进行通信
// sig.c
#include
#include
#include
#include
#include
// 信号处理函数
void handler(int signo)
{
switch(signo)
{
case SIGUSR1:
printf("Parent: catch sigusr1n");
break;
case SIGUSR2:
printf("Child: catch sigusr2n");
break;
default:
printf("should not be heren");
break;
}
return;
}
// 主函数
int main(int argc, char* argv[])
{
pid_t ppid, cpid;
// 设置信号
if(signal(SIGUSR1, handler) == SIG_ERR)
{
perror("can't set handler for sigusr1n");
exit(1);
}
if(signal(SIGUSR2, handler) == SIG_ERR)
{
perror("can't set handler for sigusr2n");
exit(1);
}
ppid = getpid();
if (cpid = fork()
// 父进程和子进程进行通信
// sig.c
#include
#include
#include
#include
#include
// 信号处理函数
void handler(int signo)
{
switch(signo)
{
case SIGUSR1:
printf("Parent: catch sigusr1n");
break;
case SIGUSR2:
printf("Child: catch sigusr2n");
break;
default:
printf("should not be heren");
break;
}
return;
}
// 主函数
int main(int argc, char* argv[])
{
pid_t ppid, cpid;
// 设置信号
if(signal(SIGUSR1, handler) == SIG_ERR)
{
perror("can't set handler for sigusr1n");
exit(1);
}
if(signal(SIGUSR2, handler) == SIG_ERR)
{
perror("can't set handler for sigusr2n");
exit(1);
}
ppid = getpid();
if (cpid = fork()
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
站内导航:
特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!