UNIX进程控制函数

#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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值