资源简介
共四项内容:Linux进程控制、线程同步与通信、共享内存与进程同步、Linux文件目录操作,参考报告详见:http://www.doc88.com/p-8189118756167.html
代码片段和文件信息
#include
#include
#include
#include
pid_t pid1pid2;
int isEnd = 0;
int pf1 = 0;
int pf2 = 0;
/*杀死子进程函数*/
void killProcess()
{
kill(pid1SIGUSR1);
kill(pid2SIGUSR2);
}
void pid1Killed()
{
printf(“child process 1 is killed by parent\n“);
exit(0);
}
void pid2Killed()
{
printf(“child process 2 is killed by parent\n“);
exit(0);
}
int main()
{
int quitPid;
int pipefd[2];
pipe(pipefd);//创建管道
char inPipe[120]outPipe[120];//写入管道和出管道的字符串
while((pid1=fork())==-1);
while((pid2=fork())==-1);
if(pid1==0)
{
signal(SIGINTSIG_IGN);
signal(SIGUSR1pid1Killed);
int x=1;
//锁定写入区域
while(1)
{
lockf(pipefd[1]10);
sprintf(outPipe“I send you %d time\n “x++);
write(pipefd[1]outPipe50);
sleep(1);//阻塞1秒
//解锁写入区域
lockf(pipefd[1]00);
}
}
else
if(pid2==0)
{
signal(SIGINTSIG_IGN);
signal(SIGUSR2pid2Killed);
while(1)
{
lockf(pipefd[0]10);//读区域上锁
if((read(pipefd[0]inPipe50))!=0)printf(“%s“inPipe);
lockf(pipefd[0]10);
}
}else
{
//主进程
signal(SIGINTkillProcess);
waitpid(pid1&quitPid0);
waitpid(pid2&quitPid0);
close(pipefd[1]);
close(pipefd[0]);
printf(“parent process is killed!\n“);
exit(0);
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1248 2017-11-27 14:22 实验源代码\lab1\lab1.c
文件 1310 2017-12-04 14:31 实验源代码\lab2\lab2.c
文件 2006 2017-12-25 08:34 实验源代码\lab2\lab2jincheng.c
文件 12163 2017-12-25 15:40 实验源代码\lab3\get\bin\Debug\get
文件 655 2018-01-09 16:01 实验源代码\lab3\get\get.c
文件 1218 2017-12-25 15:17 实验源代码\lab3\get\get.cbp
文件 505 2017-12-25 15:39 实验源代码\lab3\get\get.depend
文件 539 2017-12-25 14:55 实验源代码\lab3\get\get.layout
文件 12373 2017-12-25 14:55 实验源代码\lab3\get\get1
文件 633 2017-12-25 15:15 实验源代码\lab3\get\header.h
文件 99 2017-12-23 16:36 实验源代码\lab3\get\main.c
文件 8360 2017-12-25 15:35 实验源代码\lab3\get\obj\Debug\get.o
文件 181 2017-12-24 15:56 实验源代码\lab3\get\test.txt
文件 12313 2017-12-25 15:40 实验源代码\lab3\lab3\bin\Debug\lab3
文件 12163 2017-12-25 15:35 实验源代码\lab3\lab3\get
文件 12163 2017-12-25 15:35 实验源代码\lab3\lab3\get1
文件 772 2017-12-25 15:15 实验源代码\lab3\lab3\header.h
文件 12313 2017-12-25 15:40 实验源代码\lab3\lab3\lab3
文件 1224 2017-12-25 16:49 实验源代码\lab3\lab3\lab3.cbp
文件 774 2017-12-25 15:41 实验源代码\lab3\lab3\lab3.depend
文件 539 2017-12-25 16:51 实验源代码\lab3\lab3\lab3.layout
文件 873 2017-12-25 15:40 实验源代码\lab3\lab3\main.c
文件 6304 2017-12-23 16:32 实验源代码\lab3\lab3\obj\Debug\copy.o
文件 6280 2017-12-23 16:17 实验源代码\lab3\lab3\obj\Debug\get.o
文件 8784 2017-12-25 15:40 实验源代码\lab3\lab3\obj\Debug\main.o
文件 6032 2017-12-23 16:34 实验源代码\lab3\lab3\obj\Debug\put.o
文件 13061 2017-12-25 15:38 实验源代码\lab3\lab3\put
文件 0 2017-12-25 15:39 实验源代码\lab3\put\get2
文件 633 2017-12-25 15:15 实验源代码\lab3\put\header.h
文件 99 2017-12-23 16:38 实验源代码\lab3\put\main.c
............此处省略32个文件信息
- 上一篇:简单大学生html作业
- 下一篇:d3关系图谱.html
相关资源
- LINGO for linux v11破解版(更新:修正大规
- linux wkhtmltopdf 字体文件cjkuni-uming、s
- mtd-snapshot-20050519.tar.tar
- LDD3第三版.PDF
- nginx1.12.1 arm交叉编译版Linux 3.0.101稳定
- 很好用的CDLINUX
- libjpeg 内存解码 ARM平台嵌入式linux
- 20150909162644-阿里云linux一键安装web环境
- 在linux下实现的一个简单的广告机
- Helix server 11 for Linux无限用户服务器版
- Linux下32位mongodb安装包
- texlive2018离线安装包ISO镜像适合Linux和
- libxls生成的库文件
- rpc.rstatd-4.0.1.tar,rsh-0.17-14.i386.rpm,
- MBRFix工具(在Windows下删除Ubuntu Linux系
- zlib-1.2.3.tar.tar
- linuxC函数手册.chm
- vim加载systemverilog语法高亮文件:sytem
- POSIX标准 - IEEE Std 1003.1-2017
- 海思 qt 移植 linuxfb 修改
- LinuxC函数-中文使用手册chm
评论
共有 条评论