/*这是一个其分别利用子进程和父进程对一个count进行计数并且输出,

用于展示父进程和子进程是共享一个数据段*/

#include

#include

#include

#include

int main (int argc,char *argv[])

{

int count = 1;

int child;

printf("此时执行的是父进程,当前count的值是:%d\n", count);   //创建子进程之前

if(!(child = vfork()))   //创建子进程

{

//由于子进程会首先执行,以下为子进程执行过程

int i;

for(i = 0; i

{

printf("这是子进程, 当前i的值是: %d\n", i);   //反复输出打印结果

if(i == 8)

exit(1);

}

printf("这是子进程,其进程ID是%d count的值是: %d\n", getpid(), ++count);

exit(1);  //退出子进程

}

else

{  //父进程执行区

printf("这是父进程,其进程ID是%d count的值是: %d, 其子进程是: %d\n", getpid(), count, child);

}

return 0;

}

linux用vfork创建进程,[Linux进程]使用vfork创建子进程并且执行命令相关推荐

  1. 使用multiprocesss模块进程通信采用队列方式,子进程run执行完一直不能退出的问题

    进程间通信常用的方法有信号量.共享内存.消息队列,python的multiprocesss模块提供了与平台无关的进程相关的API 在项目中使用 multiprocesss 多进程编程时遇到奇怪的问题是 ...

  2. linux启动本地远程服务,如何使用SSH在本地控制远程服务器执行命令

    通过SSH在本地控制远程服务器执行命令,如果每次都要登录到远程服务器真的好麻烦,起始通过SSH就可以远程执行 在本地使用 ssh $RemoteNode    可以在执行远程机器上的命令,例如 ssh ...

  3. 进程常用指令 (从创建到回收 包含守护)

        进程                           常用命令及基本介绍 ps -ef 查看所有进程信息 (一般需要配合管道使用) ps aux 查看进程信息 且显示进程状态 状态: R ...

  4. linux安装oracle出现os,linux下安装oracle

    1.设置Linux系统参数 a.修改linux内核参数 vi /etc/sysctl.conf kernel.shmmax = 1073741824/kernel.shmmax = 1024*1024 ...

  5. java使用2种方法操作liberoffice把word转pdf,pdf加水印,java远程调用Linux执行命令

    文章目录 libreoffice下载地址 安装 (第一种) java调用 (第二种 推荐) java调用Linux命令转pdf java远程连接Linux执行命令(少数情况) linux安装windo ...

  6. linux创建进程fork函数和vfork函数

    #include <unistd.h>pid_t fork(void);#include <sys/types.h>#include <unistd.h>pid_t ...

  7. Linux C编程--进程介绍1--进程的创建

    这篇文章介绍的内容包括 1.Linux进程--进程标识号 2.进程控制--进程创建 1.Linux进程--进程标识号 进程(Process)是一个程序在其自身的虚拟地址空间中的一次执行活动.多个程序并 ...

  8. 【Linux 内核】进程管理 ( 进程相关系统调用源码分析 | fork() 源码 | vfork() 源码 | clone() 源码 | _do_fork() 源码 | do_fork() 源码 )

    文章目录 一.fork 系统调用源码 二.vfork 系统调用源码 三.clone 系统调用源码 四._do_fork 函数源码 五.do_fork 函数源码 Linux 进程相关 " 系统 ...

  9. Linux内核创建一个新进程的过程

    作者:王鹤楼 原创作品转载请注明出处 <Linux内核分析>MOOC课程 http://mooc.study.163.com/course/USTC-1000029000 操作系统的三大功 ...

最新文章

  1. php swoole yii,yii2-swoole
  2. 学好python需要多久-python入门要学多久
  3. 异常处理程序和软件异常——Windows核心编程学习手札之二十四
  4. 1年内4次架构调整,谈Nice的服务端架构变迁之路--转
  5. SQL Server配置delegation实现double-hop
  6. IntelliJ IDEA 刷题利器 LeetCode 插件
  7. u盘安装linux 7.4,U盘自动化安装CentOS7.4
  8. 8-7/8 java/redis 客服端
  9. 佳能7200cdn打印自检_家用打印机如何挑选? 家用打印机性价比较高的有哪些?...
  10. 动软代码生成器连不上高版本(8.0+)的解决方法
  11. Visual FoxPro正式版
  12. 2018年全国多校算法寒假训练营练习比赛(第三场)I 三角形【皮克公式+gcd】
  13. java 回合制抛物线游戏_回合制抛物线射击游戏《坦克总动》重磅来袭!
  14. 判断手机号码vue_判断手机号运营商
  15. 打印机驱动的PCL与PS的区别
  16. 给懒懒的Git操作手册
  17. java防止文件上传_文件上传漏洞:getshell的最好方式,我们如何防御?
  18. Navicat for MySQL 连接 MySQL 报2005错误
  19. 织梦 帝国 php,PHPCMS、织梦DEDECMS、帝国CMS的抉择与比较
  20. 《设计模式的艺术》读书笔记

热门文章

  1. static,构造器,执行顺序
  2. 图文详解mina框架
  3. vue 条件渲染 v-if | v-show
  4. JS遍历数组的12种方法
  5. android预加载app,Android欢迎页预加载首页数据
  6. h5页面如何预览excel文件_移动端页面,如何解析预览 word/excel/PDF文件?
  7. Java 线程状态流转
  8. android 九宫格封装,Android 九宫格布局
  9. Mybatis-puls打印sql语句
  10. python编码器下载_Python Code128编码器