一 点睛

system的原型如下, 其作用是运行以字符串参数的形式传递给它的命令并等待该命令的完成。其作用等价于在shell中执行命令sh -c string。

#include <stdlib.h>
int system(const char *string);

二 代码

#include <stdlib.h>
#include <stdio.h>int main()
{printf("running cat with system.\n");system("cat system1.c");printf("-----------\nDone.\n");return 0;
}

三 编译运行

[root@localhost test]# g++ system1.c -o system1
[root@localhost test]# ./system1
running cat with system.
#include <stdlib.h>
#include <stdio.h>int main()
{printf("running cat with system.\n");system("cat system1.c");printf("-----------\nDone.\n");return 0;
}
-----------
Done.

四 说明

其运行结果与sh -c "cat system1.c"类似。

[root@localhost test]# sh -c "cat system1.c"
#include <stdlib.h>
#include <stdio.h>int main()
{printf("running cat with system.\n");system("cat system1.c");printf("-----------\nDone.\n");return 0;
}

其执行过程如下

1 fork一个子进程。

2 在子进程中调用exec函数去执行command。

3 在父进程中调用wait等待子进程结束。如果fork失败,system()函数返回-1。

system建立独立进程,拥有独立的代码空间,内存空间,等待新的进程执行完毕,system才返回.(阻塞)。

创建一个堵塞的新进程,新进程结束后,system才返回。

C++使用system创建进程相关推荐

  1. Linux C : 进程管理实验:创建进程、上下文切换

    进程可以看成程序的执行过程,可以展示在当前时刻的执行状态.它是程序在一个数据集合上的一次动态执行的过程.这个数据集合通常包含存放可执行代码的代码段,存放初始化全局变量和初始化静态局部变量的数据段.用于 ...

  2. 创建进程(CreateProcess)

    下面来分享一下如何用C++创建进程(开发环境建议VS2017[宇宙第一IDE]) /*以下为创建新的进程,以拉起记事本为例*/ #include <windows.h> #include ...

  3. java什么时候创建进程,Java创建进程

    Java创建进程 1 进程的概念 1 1.1 进程的概念 1 1.2 进程的特征 1 1.3 进程与线程区别 1 2 进程的创建 1 2.1 JAVA进程的创建 1 2.1.1 ProcessBuil ...

  4. Linux创建进程必须fork么,Linux - fork() 创建进程

    Linux - fork() 创建进程 Linux - fork() 创建进程 介绍创建进程之前,先简单地介绍一下 Linux 下的进程内存布局. Stack - 所有函数的 local variab ...

  5. Java 多线程详解(二)------如何创建进程和线程

    Java 多线程详解(一)------概念的引入:https://blog.csdn.net/weixin_39816740/article/details/80089790 在上一篇博客中,我们已经 ...

  6. 创建进程-CreateProcess (一)

    CreateProcess函数用于创建进程: 函数原型: BOOL CreateProcess ( LPCTSTR lpApplicationName, LPTSTR lpCommandLine, L ...

  7. 使用WMI provider创建进程

    使用WMI provider创建进程 #define _WIN32_DCOM #include <iostream> using namespace std; #include <c ...

  8. Windows下创建进程-CreateProcess()

    原文地址:https://blog.csdn.net/yuyan987/article/details/78644922 函数说明: CreateProcess是Windows下用于创建进程的API函 ...

  9. 操作系统实验一·创建进程

    创建进程 1实验目的 2实验内容: 2.1Windows实现 2.2Linux实现 3实验环境 3.1Windows 3.2Linux虚拟机 4程序设计和实现 4.1Windows实现 4.1.1函数 ...

  10. Linux下创建进程简介

    在博文https://blog.csdn.net/fengbingchun/article/details/108940548中简单介绍了Windows下通过函数CreateProcess创建进程的过 ...

最新文章

  1. Spring Cloud Alibaba - 10 Ribbon 自定义负载均衡策略(权重算法)
  2. java 文本工具类_干货:排名前16的Java工具类
  3. HTML实时显示任务状态,如何监视后台任务进度和完成 (HTML)
  4. 十代i7前端总线频率_Intel 10nm十代酷睿终极版发布:频率暴涨、苹果独享
  5. 查找数组中最大的2个数
  6. mysql数据库进行更新、插入显示中文乱码问题
  7. Ubuntu 11.04 二进制包安装 flashget 显示 libexpat.so no...
  8. Hibernate 中upate,savaOrUpdate,merge的区别
  9. 谷歌浏览器截长图_小技巧丨电脑截图怎么快捷,想截长图怎么办
  10. 高速光通信-调制概述
  11. UCloud成首个通过乌云认证的云计算平台
  12. Word插入高亮格式化代码
  13. python --enumerate用法
  14. 使用 python 查看谁没有交作业
  15. 农业银行工作两个月,聊聊现状
  16. [扩展阅读] EasyGUI 学习文档【超详细中文版】
  17. 2023年推荐几款开源或免费的web应用防火墙
  18. [转]记一次linux(被)入侵,服务器变矿机~
  19. 杂谈 | 从刘慈欣科幻小说到元宇宙
  20. 19年的桌面KDE的风雨和陪伴,没有什么能够割舍

热门文章

  1. Pr入门系列之十四:处理音频
  2. 穿过已知点画平滑曲线-lua
  3. 【C语言】井字棋游戏
  4. 摄影曝光口诀_摄影中的“向右曝光”是什么以及为什么要这么做
  5. 工厂管理口诀,请转给每一个员工背下来!
  6. go-redis 读和存储json数组
  7. 【014】Excel宏编程的交互解析(MsgBox)_001_#VBA
  8. python3 使用sorted 实现倒序
  9. 域名购买之后怎么使用
  10. Android集成微信支付时返回错误码errcode:40125解决方案