#include "apue.h"
#include <sys/wait.h>
/*进程控制测试*/
int main(int argc, char * argv[])
{
char buffer[MAXLINE];
pid_t pid;
int status;
printf("%%"); /*命令提示提示符*/
while(fgets(buffer,MAXLINE,stdin)!= NULL)
{
/*从标准输入读文件,相应换行替换*/
if(buffer[strlen(buffer)-1] == '\n')
{
buffer[strlen(buffer)-1] = 0;
}
if((pid = fork())<0)
{
err_sys("fork error");
}
else if(pid == 0)
{
execlp(buffer,buffer,"-ef",(char*)0);
err_ret("couldn't execute %s\n",buffer);
exit(127);
}
/*parent*/
if((pid = waitpid(pid,&status,0))<0)
{
err_sys("waitpid error");
}
printf("%%"); /*命令提示提示符*/
}
}
//验证父子进程可以 ps -ef | grep smpser