exec函数与system(linux进程与线程学习笔记)

    科技2022-07-21  95

     进程 - exec函数族       进程调用exec函数族执行某个程序          进程当前内容被指定的程序替换          实现让父子进程执行不同的程序         父进程创建子进程         子程序调用exec函数族         父进程不受影响           进程 - execl/execlp       #include<unistd.h>     int execl(const char *path,const char *arg,...);               要执行程序的路径     int execlp(const char *file,const char *arg,...);          成功时执行指定的程序,失败时返回EOF          path 执行的程序名称,包含路径          arg...传递给执行的程序的参数列表          file 执行的程序的名称,在PATH中查找       进程创建 - execl(p) - 示例       执行ls命令,显示/etc目录下所有文件的详细信息          if(execl("/bin/ls","ls","-a","-l","/etc",NULL)<0){         perror("execl");     }          if(execlp("ls","ls","-a","-l","/etc",NULL)<0){         perror("execlp");     }       进程 - execv/execvp       #include<unistd.h>          int execv(const char *path,char *const argv[]);     int execvp(const char *file,char *const argv[]);          成功时执行肯定的程序,失败时返回EOF          arg...封装成指针数组的形式       进程创建 - execv(p) - 示例       执行ls命令,显示/etc目录下所有文件的详细信息          char *arg[]={"ls","-a","-l","/etc",NULL};     if(execv("/bin/ls",arg)<0){         perror("execv");     }          char *arg[]={"ls","-a","-l","/etc",NULL};     if(execvp("ls",arg)<0){         perror("execvp");     }       进程 - system       #include<stdlib.h>     int system(const char *command);          成功时返回命令command的返回值,失败时返回EOF          当前进程等待command执行结束后才继续执行

    Processed: 0.012, SQL: 8