1. 有关errno 的认识。
2. 关于exec function family
1 #include <unistd.h>
2 #include <stdio.h>
3 int
4 main()
5 {
6 execl("/bin/cat","cat","-n","/etc/resolv.conf",(char *)0);
7 printf("show execlp/n");
8 execlp("cat","cat","-n","/etc/resolv.conf",(char *)0);
9 return 0;
10}
问题:为什么 7 8 9句没有执行?
答: 由于exec 用被执行的程序替换调用它的程序,原来的进程的程序镜像被替换为6句的程序执行的镜像。7 8 9句不会执行
3. 在ubuntu 10.04 测试时 , 为什么将会打印很多count值 、 创建很多子进程?
#include <unistd.h>
#include <stdio.h>
int main()
{
pid_t pid;
int count = 0;
pid = vfork();
count++;
printf("count = %d/n" , count);
return 0;
}