司机和售票员问题 信号signal注册一例

 

image

 

#include <stdio.h>
#include <stdlib.h>
#include <signal.h>pid_t pid;void driver_handler(int signo)  //司机的信号处理函数
{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)  //售票员的信号处理函数
{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;
}

转载于:https://www.cnblogs.com/pengdonglin137/archive/2013/03/08/2950422.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/400846.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MSP430F5529 DriverLib 库函数学习笔记(四)UART通信

目录硬知识USCI通信模块USCI的UART模式1. USCI初始化和复位2. 异步通信字符格式3. 异步多机通信模式4. 自动波特率检测5. IrDA编码和解码6. 自动错误检测7. USCI接收使能8. USCI发送使能9. UART波特率的产生10. UART波特率的设置&#xff08;重要&#xff09;&#xff08;1&…

linux下编译安装MySQL5.6新版本

MySQL 5.5以上版本 与之前的版本安装出入有些区别&#xff1a; 下面是安装过程mysql5.6 下载地址&#xff1a;ftp://mirror.switch.ch/mirror/mysql/Downloads/MySQL-5.6/一&#xff1a;卸载旧版本使用下面的命令检查是否安装有MySQL Serverrpm -qa | grep mysql有的话通过下面…

MSP430F5529 DriverLib 库函数学习笔记(四点五)printf打印输出

目录代码实现使相应工程支持打印浮点数实验结果平台&#xff1a;Code Composer Studio 10.3.1 MSP430F5529 LaunchPad™ Development Kit (MSP‑EXP430F5529LP)代码实现 重定向fputc(int ch, FILE *f)直接使用printf的方法只有字符串和%s打印正常&#xff0c;数字打印不出来…

Android学习第三天--事件监听器

事件监听器方式一&#xff1a; 匿名内部类&#xff0c;直接在组件上添加监听器&#xff1b;例子如下 button.setOnclickListener(new OnClickListener() {System.out.println("hahahh"); }); 监听方式二&#xff1a; 实现某个监听器的接口&#xff0c;然后在添加…

FileOutputSteam入门

FileOutputSteam 字节输入流 从控制台将字节保存到本地硬盘 package com.isoftstone.io; import java.io.FileOutputStream; import java.io.IOException; public class TestFileOutStream {public static void main(String[] args){FileOutputStream fos null;try{//1、创建文…

认识弹性盒子flex

&#x1f680; 优质资源分享 &#x1f680; 学习路线指引&#xff08;点击解锁&#xff09;知识定位人群定位&#x1f9e1; Python实战微信订餐小程序 &#x1f9e1;进阶级本课程是python flask微信小程序的完美结合&#xff0c;从项目搭建到腾讯云部署上线&#xff0c;打造一…

Objective-C 语法

吧Category使用场景&#xff1a; -类包含了很多个方法的实现&#xff0c;而这些方法需要不同的团队成员来实现。 -当你在使用基础类库中的类时&#xff0c;不想集成这些类&#xff0c;只想添加一些方法时。 -Category能访问原始类的实例变量&#xff0c;但是不能添加实例变量&a…

flag

mark, to remember

MSP430F5529 DriverLib 库函数学习笔记(五)定时器A

目录硬知识定时器A 16位定时器原理&#xff08;1&#xff09;时钟源选择和分频器&#xff08;2&#xff09;Timer_A工作模式&#xff08;3&#xff09;捕获/比较模块&#xff08;4&#xff09;Timer_A中断&#xff08;重要&#xff09;定时器A API (机翻)定时器A配置和控制的函…

vim 常用快捷键(整理版)

最常用&#xff1a; x 删除后面的字符 X 删除前一个字符 删除3个字符就是3x dd:删除一行 D 删除到行尾 J:删除换行符&#xff0c;使下一行并上来。 nJ:连接后面的n行 u:撤销上一次操作 U:撤销当前行的所有修改 ctrlr:对撤消的撤消 I 在行首插入 a 在光标后插入 A…

快速排序——算法系列

快速排序&#xff1a; 思想&#xff1a;主要是利用了分而治之的思想&#xff0c;将一个大的排序问题简化成一个一个小的问题。 代码&#xff1a; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Diagnostics; using Sys…

C++对象间通信组件,让C++对象“无障碍交流”

&#x1f680; 优质资源分享 &#x1f680; 学习路线指引&#xff08;点击解锁&#xff09;知识定位人群定位&#x1f9e1; Python实战微信订餐小程序 &#x1f9e1;进阶级本课程是python flask微信小程序的完美结合&#xff0c;从项目搭建到腾讯云部署上线&#xff0c;打造一…

《Servlet学习笔记》Servlet开发细节-线程安全

Servlet开发细节-线程安全当多个客户端并发访问同一个Servlet时&#xff0c;web服务器会为每一个客户端的访问请求创建一个线程&#xff0c;并在这个线程上调用Servlet的service方法&#xff0c;因此service方法内如果访问了通过一个资源的话&#xff0c;就有可能引发线程安全问…

MSP430F5529 DriverLib 库函数学习笔记(六)定时器A产生PWM波

目录1.通过Timer_A_outputPWM配置产生PWM波初始化函数计算修改占空比的函数整体程序效果2.单定时器产生多路PWM信号初始化函数实验结果3.对称PWM信号的产生初始化程序实验结果平台&#xff1a;Code Composer Studio 10.3.1 MSP430F5529 LaunchPad™ Development Kit (MSP‑EX…

host 和TNS设置

host关系到前台ebs应用的登陆问题 路径 host文件路径C:\Windows\System32\drivers\etc\hosttns关系到 plsql developer的应用问题 查询路径方法 未登录条件下打开plsql developer 菜单栏 support info中 第一个可以找到文件所在路径 D:\DevSuiteHome\Network\Admin\tnsnames.…

Key_EXTI_Config:神舟IV

GPIO 输入上拉&#xff0c;按键按下&#xff0c;pin接地&#xff0c;触发中断 Key_Config 1 void Key_Config(void)2 {3 GPIO_InitTypeDef GPIO_InitStructure;4 5 RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);6 7 /* Configure KEY1 Button PC4*/8 RCC_APB2…

Java 将HTML转为XML

&#x1f680; 优质资源分享 &#x1f680; 学习路线指引&#xff08;点击解锁&#xff09;知识定位人群定位&#x1f9e1; Python实战微信订餐小程序 &#x1f9e1;进阶级本课程是python flask微信小程序的完美结合&#xff0c;从项目搭建到腾讯云部署上线&#xff0c;打造一…

MSP430F5529 DriverLib 库函数学习笔记(七)定时器B

目录硬知识Timer_B特点及结构Timer_B寄存器定时器B API处理计时器配置和控制的函数参数处理计时器输出的函数参数管理定时器B中断的函数参数平台&#xff1a;Code Composer Studio 10.3.1 MSP430F5529 LaunchPad™ Development Kit (MSP‑EXP430F5529LP) 硬知识 16位定时器B(…

数组指针——指向数组的指针(通过指针控制数组)

//一维数组int arr1[5] { 1,2,3,4,5 };int(*arrP)[5] &arr1; //定义数组指针 必须用&arr1, arr1是数组首元素的地址&#xff1b;&arr1是代表数组地址虽然地址都一样但是当加1的时候就有区别了&#xff0c;说明还是代表的不同东西for (int i 0; i < sizeof…

诡异的楼梯

Problem DescriptionHogwarts正式开学以后,Harry发现在Hogwarts里,某些楼梯并不是静止不动的&#xff0c;相反,他们每隔一分钟就变动一次方向. 比如下面的例子里,一开始楼梯在竖直方向,一分钟以后它移动到了水平方向,再过一分钟它又回到了竖直方向.Harry发现对他来说很难找到能…