LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 870|回复: 1

不知道execle() 和execlve()怎么用?

[复制链接]
发表于 2004-1-4 17:14:53 | 显示全部楼层 |阅读模式
能各给个简单的例子吗?
:help :help

还有这里不知道错在哪里,输出并没有 -l
execlp("ls","-l","/root",(char *) 0);
:help
发表于 2004-1-5 00:10:26 | 显示全部楼层

  1. #include <stdio.h>
  2. #include <sys/types.h>
  3. #include <unistd.h>
  4. #include <sys/wait.h>

  5. char        *env_list[] = {"USER=kate", "PATH=/tmp", NULL};

  6. int main(void)
  7. {
  8.         pid_t pid;

  9.         if ( (pid=fork())<0 )
  10.         {
  11.                 printf("fork error!\n");
  12.                 exit(0);
  13.         }
  14.         else if ( pid==0 )
  15.         {
  16.                 if ( execle("/usr/peter/bin/printall",         //pathname
  17.                         "printall","arg1","arg2", (char *) 0,  //arguments
  18.                         env_list) <0 )                         //enviroment
  19.                         printf("execle error!\n");
  20.                 exit(0);
  21.         }

  22.         if ( waitpid(pid,NULL,0) < 0 )
  23.         {       
  24.                 printf("wait error!\n");
  25.                 exit(0);
  26.         }

  27.         if ( (pid=fork())<0 )
  28.         {
  29.                 printf("fork error!\n");
  30.                 exit(0);
  31.         }
  32.         else if ( pid==0 )
  33.         {
  34.                 if (execlp ( "printall",        //filename
  35.                                 "printall", "arg1", (char *) 0 ) <0 )  //arguments
  36.                 printf("execle error!\n");
  37.                 exit(0);
  38.         }
  39.         exit(0);
  40. }
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表