Linuxc高级编程之进程
文章平均质量分 70
啊飞飞飞
这个作者很懒,什么都没留下…
展开
-
Linuxc高级编程之进程1
1.打印当前所有环境变量的值;2.添加新的环境变量NEWENV=first;3.修改环境变量NEWENV的值为second;4.打印环境变量NEWENV的值。源代码:#include <stdio.h>#include <stdlib.h>#include <unistd.h>extern char **environ;int main(int argc,cha...原创 2018-05-21 14:03:36 · 630 阅读 · 0 评论 -
Linuxc 信号的使用1 kill和signal函数
1.进程A向进程B发送SIGUSR1信号;2.进程B收到信号后,打印字符串“receive SIGUSR1”;3.要求用kill函数和signal函数实现以上功能;源代码:kill.c#include <stdio.h>#include <stdlib.h>#include <sys/wait.h>#include <sys/types.h>#inc...原创 2018-05-22 18:57:06 · 3952 阅读 · 0 评论 -
Linuxc 信号的使用2 sigqueue函数和sigaction函数
1.进程A向进程B发送SIGUSR1信号;2.进程B收到信号后,打印字符串“receive SIGUSR1”;3.要求用sigqueue函数和sigaction函数实现以上功能;源代码:sigqueue.c#include <stdio.h>#include <stdlib.h>#include <sys/types.h>#include <signal....原创 2018-05-22 19:01:19 · 1311 阅读 · 0 评论 -
Linuxc 信号的发送与接收
信号发送函数kill(), sigqueue(), raise(), alarm(), setitimer(), pause(),abort()信号安装函数signal(), sigaction()信号集操作函数sigemptyset(), sigfillset(), sigaddset(), sigdelset(), sigismember()注:kill signal sigqueue ...原创 2018-05-22 19:05:37 · 1887 阅读 · 0 评论 -
Linuxc 信号的使用3 setitimer函数
1.调用setitimer函数分别触发SIGALRM信号,SIGVTALRM信号,SIGPROF信号 ;2.编写信号安装函数,在该函数内部能判断接受到的是什么信号,并把信号打印出来。源代码:setitimer.c#include <signal.h> #include <unistd.h> #include <stdio.h> #include <s...原创 2018-05-22 19:09:57 · 835 阅读 · 0 评论 -
Linuxc之消息队列
1.进程A向消息队列发送消息“hello,world” 2.进程B从消息队列读取消息,并打印。源代码:write.c#include <stdio.h>#include <stdlib.h>#include <sys/types.h>#include <sys/ipc.h>#include <sys/msg.h>#include <...原创 2018-06-22 19:43:50 · 1035 阅读 · 0 评论 -
Linuxc之信号量集合
源代码:receive.c#include <stdio.h>#include <stdlib.h>#include <unistd.h>#include <sys/ipc.h>#include <sys/types.h>#include <sys/sem.h>int main(){ int semid,semval1,sem...原创 2018-06-22 19:45:19 · 725 阅读 · 1 评论 -
Linuxc之网络编程讲解及例题
TCP与UDP:tcp:udp:服务器程序作用初始化服务器程序持续监听一个固定的端口收到客户的连接后建立一个socket连接与客户进行通信和信息处理接收客户通过socket连接发送来的数据,创建一个新的socket,通过socket连接与客户通信,进行相应处理,并返回处理结果通信结束后中断与客户的连接(关闭socket)客户程序作用初始化客户程序连接到某个服务器上,建立socket连接与服务器进行...原创 2018-06-22 20:56:59 · 981 阅读 · 0 评论 -
Linuxc之基于UDP通信编程
1.完成基于UDP的客户端和服务器程序编写,要求服务器采用循环方式处理客户端的数据。Server.c#include<stdio.h> #include<stdlib.h> #include<string.h> #include<errno.h> #include<sys/types.h> #include<sys/s...原创 2018-06-22 21:03:37 · 937 阅读 · 0 评论 -
Linuxc 之 Exec函数详解
exec函数族的作用是根据指定的文件名找到可执行文件,并用它来取代调用进程的内容,换句话说,就是在调用进程内部执行一个可执行文件。这里的可执行文件既可以是二进制文件,也可以是任何Linux下可执行的脚本文件。 与一般情况不同,exec函数族的函数执行成功后不会返回,因为调用进程的实体,包括代码段,数据段和堆栈等都已经被新的内容取代,只留下进程ID等一些表面上的信息仍...原创 2018-05-22 10:54:00 · 2591 阅读 · 0 评论 -
Linuxc高级编程之进程5
一、创建子进程一,在子进程中递归打印/home目录中的内容(可以用exec系列函数调用第一次实验中的代码完成此功能);子进程结束的时候完成以下功能: 1.打印字符串“Child process exited!” 2.打印子进程标识符,打印父进程标识符。二、创建子进程二, 打印子进程运行环境中环境变量“USER”的值,通过exec系列中的某个函数设置子进程”USER”环境变量值为“zha...原创 2018-05-22 10:55:01 · 1138 阅读 · 3 评论 -
Linuxc 进程间通信之有名管道
利用有名管道文件实现进程间通信,要求1.写进程向有名管道文件写入10次“hello world”;2.读进程读取有名管道文件中的内容,并依次打印。源代码:w.c#include <fcntl.h>#include <sys/types.h>#include <sys/stat.h>#include <stdlib.h>#include <std...原创 2018-05-25 21:11:24 · 1199 阅读 · 0 评论 -
Linuxc高级编程之进程2
1.打印字符串“hello world!”2.在打印字符串“hello world!”前调用三次fork,3.分析打印结果。源代码:#include <stdio.h>#include <unistd.h>#include<stdlib.h>int main(){ fork(); // 会产生两个进程分支 fork();// 前面产生的两个进程每个都...原创 2018-05-21 14:07:17 · 506 阅读 · 0 评论 -
Linuxc高级编程之进程3
1.创建子进程2.在子进程中打开文件file1,写入自己的“班级_姓名_学号”,3.父进程读取file1中的内容,并且打印显示。4.在父进程中获取已经结束的子进程的状态信息,打印该信息,并且打印结束的子进程的进程号。源代码:3.c#include <stdio.h>#include <stdlib.h>#include <unistd.h>#include &l...原创 2018-05-21 14:31:12 · 793 阅读 · 0 评论 -
Linuxc高级编程之进程4
1.在父进程中定义变量n,在子进程中对变量n进行++操作;并且打印变量n的值,打印子进程pid;2.在父进程中打印变量n的值,并且打印父进程pid。3.要求分别用fork和vfork创建子进程源代码:fork.c#include<stdio.h>#include<unistd.h>#include<stdlib.h>int main(int argc,char*...原创 2018-05-22 10:39:47 · 567 阅读 · 0 评论 -
Linuxc 信号的使用4
1.进程A向进程B发送信号;2.进程B收到进程A发送的信号后,打印出发送信号进程的pid,uid以及信号值。源代码:send.c#include <stdio.h>#include <stdlib.h>#include <sys/types.h>#include <signal.h>#include <unistd.h>int main(...原创 2018-05-25 20:12:00 · 397 阅读 · 0 评论 -
Linuxc 信号的使用5 附带整形参数
1.进程A向进程B发送信号,该信号的附带信息为一个值为20的整数;2.进程B完成接收信号的功能,并且打印出信号名称以及随着信号一起发送过来的整形变量值。源代码:receive.c#include <stdio.h>#include <stdlib.h>#include <unistd.h>#include <signal.h>#include <...原创 2018-05-25 20:21:16 · 379 阅读 · 0 评论 -
Linuxc 信号的使用6 传附带的字符串变量
1.进程A向进程B发送信号,该信号的附带信息为一个字符串“Hello world”;2.进程B完成接收信号的功能,并且打印出信号名称以及随着信号一起发送过来的字符串值。注释:只有在共享内存或者同一程序的情况下才可以!!一、在用共享内存源代码:receive.c#include <stdio.h>#include <stdlib.h>#include <unistd.h...原创 2018-05-25 20:38:21 · 866 阅读 · 0 评论 -
Linuxc 进程间通信之匿名管道1 父子间通信
利用匿名管道实现父子进程间通信,要求1.父进程发送字符串“hello child”给子进程;2.子进程收到父进程发送的数据后,给父进程回复“hello farther”;3.父子进程通信完毕,父进程依次打印子进程的退出状态以及子进程的pid。源代码:#include <unistd.h>#include <stdio.h>#include <stdlib.h>i...原创 2018-05-25 21:00:31 · 2844 阅读 · 0 评论 -
Linuxc 进程间通信之匿名管道2 兄弟间通信
利用匿名管道实现兄弟进程间通信,要求1.兄进程发送字符串“This is elder brother ,pid is (兄进程进程号)”给弟进程;2.弟进程收到兄进程发送的数据后,给兄进程回复“This is younger brother ,pid is(第进程进程号)”;源代码:#include <unistd.h>#include <stdio.h>#include ...原创 2018-05-25 21:03:00 · 1218 阅读 · 0 评论 -
Linuxc之基于TCP通信聊天室
1.完成基于Tcp的客户端和服务器程序编写;要求服务器采用并发方式,至少能同时接受3个客户端发送的数据;源代码:Server.c#include<stdio.h>#include<stdlib.h>#include<string.h>#include<sys/socket.h>#include<netinet/in.h>#include&...原创 2018-06-22 21:04:40 · 1780 阅读 · 3 评论