execlp execl execvp error:permission denied

   上面那几个函数在路径里找到一个可执行文件,这个文件不是连接编译器产生的可执行文件,就认为这是一个shell脚本  调用/bin/sh执行   apue:200

  这里也就明确说明了,想执行shell脚本还需要给shell脚本增加执行权限  chmod +x filename           

  1 #include<stdio.h>
  2 #include<unistd.h>
  3 #include<errno.h>
  4 #include<sys/types.h>
  5 #include<string.h>
  6 void sys_err(char *s)
  7 {
  8         fprintf(stderr , "%s : %s\n" , s , strerror(errno));
  9 }
 10 int main(void)
 11 {
 12         pid_t pid;
 13         
 14         if((pid = fork())< 0)
 15                 sys_err("fork error:");
 16         else  if(pid == 0){
 17                 if(execl("/root/apue/p208/test" , "test" , "myarg1" ,"MY ARG2" , (char*)0) < 0)
 18                         sys_err("execl error:");
 19         }
 20         if(waitpid(pid , NULL ,0 ) < 0 )
 21                sys_err("waitpid error:");
 22         exit(0);        
 23 }


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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值