📄 exec.c
字号:
#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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -