摘要:
用insmod 添加内核模块的时候没有打印信息,可用dmesg命令查看,最后一行就是输出的打印信息 阅读全文
摘要:
View Code 1 /***********server***********/ 2 3 #include <netinet/in.h> // for sockaddr_in 4 #include <sys/types.h> // for socket 5 #include <sys/socket.h> // for socket 6 #include <stdio.h> // for printf 7 #include <stdlib.h> // for exit 8 #include <string.h> // f 阅读全文
摘要:
信号终端处理相关术语:1. 产生信号:产生信号有多种说法。一个进程创建一个信号发送给另一个进程叫发送信号;内核创建一个信 号叫生成信号;一个进程向自己发送信号叫唤起一个信号2. 安装信号:设置某个信号到来的时候执行相应的中断服务程序,即设置信号到来时执行代码3. 信号投递:一个信号正确发送给一个进程4. 信号捕获: 一个信号的投递导致处理程序被执行5. 信号等待: 信号呗发送后没有引起任何动作(一般是对应用程序阻塞了次信号) 阅读全文
摘要:
无名管道(pipe)的创建实例,一下程序在子进程中写入数据,在父进程中读取数据View Code 1 #include <unistd.h> 2 #include <stdio.h> 3 #include <stdlib.h> 4 5 int main() 6 { 7 pid_t pid; 8 int pipedes[2]; 9 char s[14] = "test message!";10 char d[14] = {0};11 12 if(pipe(pipedes) == -1)//创建管道13 {14 perro... 阅读全文
摘要:
fork和vfork的区别:fork: 创建的子进程是拷贝父亲进程的数据段,不共用数据段 vfork:子进程和父进程共用数据段 2. fork: 子进程和父进程的执行次序不确定 vfork:子进程先运行父进程后运行一下两个例子分别使用fork和vfork创建子进程,验证结果View Code 1 #include <unistd.h> 2 #include <stdio.h> 3 int main() 4 { 5 int count = 0; 6 pid_t pid; 7 pid = fork(); 8 count++; 9 if(p... 阅读全文
摘要:
#include <unistd.h>#include <stdio.h>int main(){ pid_t pid; pid = fork(); if(pid < 0) { printf("error in fork\n"); } else if(0 == pid){ printf("This is chile process, ID is %d\n", getpid()); } else{ printf("This is parent pro... 阅读全文