父进程创建一个子进程,并等待子进程结束;子进程调用execve启动 使用shell的ps命令,查看系统当前的进程信息 #include <unistd.h> #include <stdio.h> #include <stdlib.h> main() { pid_t pid; char* str; char* path="/bin/ps"; char* argv[5]={"ps","-a","-x",NULL}; if ((pid=fork())<0) //创建子进程 { printf("创建子进程错误\n"); exit(0); } else if(pid==0) { //以下为子进程代码: printf("由子进程运行ps命令,以查看系统当前进程信息。\n"); if (execve(path,argv,0)<0) //子进程执行ps命令文件 { printf("子进程执行错误\n"); exit(0); } printf("子进程成功执行\n"); exit(0); //子进程结束 } // pid>0时继续父进程执行(pid为子进程号): wait(); //父进程等待子进程结束 printf("父进程退出!\n"); exit(0); //父进程结束 } 函数说明:
|
|