首页 > 系统相关 >进程控制2

进程控制2

时间:2024-09-22 19:35:44浏览次数:7  
标签:execl 控制 mychild mybin char status 进程

  1. 使用waitpid(pid, status,0);填入子进程的pid,阻塞父进程,直到子进程结束了,然后把子进程的pcb结构体的状态码读取出来。

  2. 使用WIFEXITED(status)判断子进程是否正常退出,WEXITSTATUS(status)读取退出码来判断运行是否正常结束。
    因为进程结束有3种情况:1.进程正常退出,并正确结束。2.进程正常退出,但是不正确结束。3进程被强制退出。
    所以使用这两个宏定义函数可以判断一些情况

  3. 替换函数
    execl将程序加载进程内存中。
    int execl(const char *path, const char *arg, ...);
    进程程序替换
    进程替换本质是将指定的程序替换到原有的内存, 如果使用execl(),之后的代码后面就不会运行了。只要调用成功就接下来的代码就无关了。

perror()打印错误原因

使用execl()作为子进程,然后父进程可以与子进程相互独立运行

  1. make默认只生成一个可执行程序
    .PHONY:all
    all: mybin mychild
    mychild:mychild.c
    gcc -o mychild mychild.c
    mybin:mybin.c
    gcc -o mybin mybin.c

  2. 环境变量
    使用environ传入系统环境变量,传入自定义环境变量方法putenv((char*)"myenv=1122");

标签:execl,控制,mychild,mybin,char,status,进程
From: https://www.cnblogs.com/zhudachang/p/18425738

相关文章

  • [51单片机 PROTEUS仿真设计]基于温度传感器的恒温控制系统
    目录一、主要功能二、硬件资源三、程序编程四、实现现象一、主要功能基于51单片机,具有晶振电路、复位电路、DS18B20温度传感器、LED灯和蜂鸣器灯光报警模块、LCD1602显示模块、L298N驱动电机散热模块和按键模块。主要功能:系统开始运行,显示屏显示最大温度阈值和最小......
  • (六)Protues仿真STM32单片机控制8x8LED显示
    (六)Protues仿真STM32单片机控制8x8LED显示–ARMFUN1,配置CUBEMX,将PA0~7,PAB0~7配置为GPIOOUTPUT模式2,GPIOA负责8bit数据,高电平有效,GPIOB负责行选则,低电平有效,编写行刷新函数voiddisp_set_row(unsignedchardat,charsel){ GPIOB->ODR=0xff;//关闭行选,防止将数据......
  • Linux进程信号(二)
    前文简单介绍了Linux中的信号产生和信号捕捉的初步认识,这一篇文章我们将进一步了解Linux信号中的阻塞信号,并深入理解信号捕捉的具体过程。阻塞信号概念解释在介绍阻塞信号之前,我们需要了解一些信号相关的概念:实际执行信号的处理动作称为信号递达(Delivery)信号从产生带递达之......
  • 游戏中的状态控制 适合于全部游戏 scratch 20240922_111017
    完整的游戏游戏封面游戏进行游戏暂停游戏结束预设状态值0欢迎界面1游戏进行2游戏暂停3游戏结束需要定义变量来适时的改变他们变量使用英文stat背景代码在背景的代码里定义了【欢迎画面】的自制积木实现游戏的状态值的初始化等待玩家输入如果玩家输入了1那么......
  • 2024年热门远程控制软件合集:这8款稳定的电脑远程控制软件,你都用过几个?
    随着远程办公、在线协作和远程技术支持的需求日益增加,远程控制软件成为了企业和个人提升工作效率的必备工具。2024年,不仅新兴远程控制软件不断涌现,老牌软件也在功能和稳定性上有了进一步的提升。本文为你盘点了8款稳定、广受欢迎的远程控制软件,快来看看吧!1.安企神系统安......
  • 第03章_流程控制语句
    流程控制语句:用来控制程序中各语句执行顺序的语句,可以把语句组合成能完成一定功能的小逻辑模块。顺序结构:程序从上到下逐行地执行,中间没有任何判断和跳转。分支结构:根据条件,选择性地执行某段代码。有if…else、switch-case两种分支语句。循环结构:根据循环条件,重复性的执行......
  • 进程空间管理:用户态和内核态
    用户态虚拟空间里面有几类数据,例如代码、全局变量、堆、栈、内存映射区等。在structmm_struct里面,有下面这些变量定义了这些区域的统计信息和位置。unsignedlongmmap_base;/*baseofmmaparea*/unsignedlongtotal_vm;/*Totalpagesmapped*/unsignedlonglock......
  • Java后端中的数据版本控制:如何管理数据结构的演变
    Java后端中的数据版本控制:如何管理数据结构的演变大家好,我是微赚淘客返利系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿!在现代应用开发中,数据结构的演变是一个常见的问题,尤其是在业务需求不断变化的情况下。本文将探讨如何在Java后端中有效地实现数据版本控制,以便在应用演......
  • 27. 守护进程、进程间通信
    1.僵尸进程与孤儿进程 1.1前言在unix中,所有的子进程都是由父进程创建的,子进程再创建新的子进程子进程的结束和父进程的运行是一个异步的过程,即子进程运行完成时,父进程并不知道当子进程运行完成时,父进程需要调用wait()或waitpid()来获取子进程的运行状态1.2僵尸进程(1)概念......
  • 基于51单片机wifi智能大棚环境监测控制液晶显示设计
    1、前言        这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉小洪学长自己做的项目系统达不到老师的要求。为了大家能够顺利以及最少的精力通过毕设,小洪学长分享优质毕业设计项目......