司机和售票员问题 信号signal注册一例
生活随笔
收集整理的這篇文章主要介紹了
司机和售票员问题 信号signal注册一例
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
?
?
#include <stdio.h> #include <stdlib.h> #include <signal.h>pid_t pid;void driver_handler(int signo) //司機(jī)的信號(hào)處理函數(shù) {if (signo == SIGUSR1)printf("Let's go!\n");if (signo == SIGUSR2)printf("Stop the bus!\n");if (signo == SIGTSTP)kill(pid, SIGUSR1); }void conductor_handler(int signo) //售票員的信號(hào)處理函數(shù) {if (signo == SIGINT)kill(getppid(), SIGUSR1);if (signo == SIGQUIT)kill(getppid(), SIGUSR2);if (signo == SIGUSR1){printf("Please get off the bus!\n");kill(getppid(), SIGKILL);exit(0);} }int main() {if ((pid = fork()) == -1){perror("fork");exit(-1);}if (pid == 0)//conductor{signal(SIGINT,conductor_handler);signal(SIGQUIT,conductor_handler);signal(SIGUSR1,conductor_handler);signal(SIGTSTP, SIG_IGN);}else//driver{signal(SIGUSR1, driver_handler);signal(SIGUSR2, driver_handler);signal(SIGTSTP, driver_handler);signal(SIGINT,SIG_IGN);signal(SIGQUIT,SIG_IGN);}while (1);return 0; }與50位技術(shù)專(zhuān)家面對(duì)面20年技術(shù)見(jiàn)證,附贈(zèng)技術(shù)全景圖
總結(jié)
以上是生活随笔為你收集整理的司机和售票员问题 信号signal注册一例的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: (转)使用vsphere client
- 下一篇: ArcEngine中画点画线画面