- #include
- int system(const char *command);
comand是命令的路径,一般我们用绝对路径
system函数会创建新的进程,新的进程执行完返回原来的进程,原来的进程则继续执行后面的代码段。
如我们创建一个sys.cpp文件,在其中去执行另一个sys1可执行文件
- #include
- #include
- #include
- int main()
- {
- std::cout<<"sys excute"<<getpid()<
- system("./sys1");
- std::cout<<"sys success"<
- return 0;
- }
同目录下创建一个sys1.cpp文件,然后将其编译链接为可执行文件
- #include
- #include
- int main()
- {
- std::cout<<"sys1 excute"<<getpid()<
- std::cout<<"sys1 termined"<
- return 0;
- }

可以看出先执行完sys1后又返回原来的进程执行了
2.execl
- #include
-
- int execl(const char *path, const char *arg, ...);
- int execlp(const char *file, const char *arg, ...);
- int execle(const char *path, const char *arg,..., char * const envp[]);
- int execv(const char *path, char *const argv[]);
- int execvp(const char *file, char *const argv[]);
- int execvpe(const char *file, char *const argv[],char *const envp[]);
一般来说,path为指令的路径,arg为指令的参数
excel不创建新的进程,只是从原来进程去执行别的任务,执行完不会返回。
- #include
- #include
- #include
- int main()
- {
- std::cout<<"sys excute"<<getpid()<
- execl("./sys1","sys1",0);
- std::cout<<"sys success"<
- return 0;
- }

可以看到执行完sys1,就结束了
-
相关阅读:
微信小程序开发13 云开发:云原生一体化应用开发平台
[java刷算法]牛客—剑指offer链表复习、手写简易正则匹配
Istio服务网格详解
开源生态与软件供应链研讨会
ava面试八股文-基础概念二
CMS难题待解?头部企业已领跑前装量产与集成趋势
【Jmeter】前置处理器实战:「BeanShell 预处理程序」参数化身高、体重、BMI
1024——今天我们不加班
【基于C的排序算法】插入排序之希尔排序
源代码管理——码云Gitee
-
原文地址:https://blog.csdn.net/qq_62821433/article/details/139726100