进程间用信号通信(司机和售票员问题)

/**************************************************************************************************司机售票员问题创建子进程代表售票员,父进程代表司机,同步过程如下:1、售票员捕捉SIGINT(代表开车),发 SIGUSR1 给司机,司机打印"let's go"2、售票员捕捉SIGQU
摘要由CSDN通过智能技术生成
/**************************************************************************************************
司机售票员问题
创建子进程代表售票员,父进程代表司机,同步过程如下:
1、售票员捕捉SIGINT(代表开车),发 SIGUSR1 给司机,司机打印"let's go"
2、售票员捕捉SIGQUIT(代表停车),发 SIGUSR2 给司机,司机打印"stop the bus"
3、司机捕捉SIGTSTP(代表车道总站),发 SIGUSR1 给售票员,售票员打印"please get off the bus",结束总程序
**************************************************************************************************/
#include <stdio.h>
#include <sys/types.h>
#include <signal.h>
#include <unistd.h>

void saler(int);     //售票员信号处理函数
void driver(int);    //司机信号处理函数

pid_t pid;  //保存子进程号

int main()
{
    if ((pid = fork()) == -1)
    {
        perror("fork");
  • 8
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值