/**************************************************************************************************
司机售票员问题
创建子进程代表售票员,父进程代表司机,同步过程如下:
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");
司机售票员问题
创建子进程代表售票员,父进程代表司机,同步过程如下:
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");