c语言 poll,c语言 linux 中 poll 的参数

#include int system(const char * cmdstring)

{

pid_t pid;

int status;

if(cmdstring == null){

return (1);

}

if((pid = fork())<0){

status = -1;

}

else if(pid = 0){

execl("/bin/sh", "sh", "-c", cmdstring, (char *)0);

-exit(127); //子进程正常执行则不会执行此语句

}

else

{

while(waitpid(pid, &status, 0) < 0){

if(errno != einter)

{

status = -1;

break;

}

}

}

return status;

}

那么如何获得system的返回值呢??

char buf[10];

char * ps="ps -ef|grep -c root";

file *ptr;

int i;

if((ptr = popen(ps, "r")) != null)

{

fgets(buf, 10 , ptr);

i = atoi(buf);

pclose(ptr);

}

可以man下waitpid查看下如何检查status的值

int ret = system("ls -al /etc/passwd /etc/shadow");

if(wifsignaled(ret))

具体的这些宏查看man waitpid

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值