⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 exec.c

📁 演示Linux下使用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 + -