exec.c
来自「演示Linux下使用exec函数族启动子进程的方法」· C语言 代码 · 共 43 行
C
43 行
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
int main(int argc, char *argv[])
{/* C program forking a separate process */
int pid;
int ReturnValue; //返回值。
char * TheArgv[]={"/bin/ls",NULL}; //参数表。
/* fork another process */
pid=fork();
if (pid<0) { /* error occurred */
fprintf(stderr, "Fork failed");
return 0;
}
else if (pid==0) { /* child process */
printf("Executing Child.\n");
ReturnValue=execv("/bin/ls", TheArgv);
}
else { /* parent process */
/* parent process will wait for the child to complete */
wait(NULL);
printf("Child Complete.\n");
// printf("ReturnValue:%d.\nENOENT:%d.\nEFAULT:%d.\nEACCES:%d.\n",ReturnValue,ENOENT,EFAULT,EACCES);
/* switch (ReturnValue)
{
case ENOENT: //找不到文件或路径。
printf ("找不到文件或路径。\n");
break;
case EFAULT: //数组argv和envp忘记用NULL结束
printf("数组argv和envp忘记用NULL结束。\n");
break;
case EACCES: //没有权限。
printf("没有权限。\n");
break;
default:
printf("未知错误。\n");
break;
}; //switch*/
return 0;
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?