Linu程式设计入门forkpthreadand signals2.docx

sigemptyset(act.sa_mask); sigaction(SIGTERM,act,NULL); sigaction(SIGHUP,act,NULL); sigaction(SIGINT,act,NULL); sigaction(SIGQUIT,act,NULL); sigaction(SIGUSR1,act,NULL); sigaction(SIGUSR2,act,NULL); for (;;) { sleep(3); } } 编译: gcc -o ex1 lock.c 执行 ./ex1 daemon on duty! 送信号 我们先找出该守护神程式的 pid PID=`cat /var/run/lock.pid` 接下来利用 kill 来送信号 kill $PID Receive signal 15 程式将会结束,并且/var/run/lock.pid 将会被删除掉,以便下一次 daemon 再启 动。注意到如果 quit 函数内,没有放 exit(),程式将永远杀不掉。 接下来送一些其它的信号试试看。 ./ex1 PID=`cat /var/run/lock.pid` kill -HUP $PID Receive signal 1 您可以自行试试 kill -INT $PID kill -QUIT $PID kill -ILL $PID . . . 等等这些信号

文档评论(0)

1亿VIP精品文档

相关文档