系统编程-进程初步1

news2024/9/24 17:10:33

5 进程初步

一、认识进程

-- 进程Process是指计算机中已运行的程序,是系统进行资源分配和调度的基本单位,是操作系统结构的基础

-- 程序运行起来就是一个进程

  • 进程存在于运行内存中
  • 程序存在于硬盘中

-- windows下查看进程使用任务管理器进行查看 

alt text

1、查看进程的指令

-- linux下如何查看进程

  • (1)ps 指令可以用来看进程 查看当前终端下的进程

alt text

  • (2)ps -ef 查看系统内所有进程
    -- 该指令主要用来获取进程的进程号
    -- PID:进程号
    -- PPID:父进程号
     

    alt text

     

    alt text

  • (3)ps -aux
    -- 主要用来获取进程间状态
    -- STAT:表示进程的当前状态 

    alt text

  • (4)kill -9 进程号
    -- 杀死进程指令

alt text

2、进程在系统中的调度状态

-- linux操作系统下进程的三种状态:

  • 执行态:该进程正在运行,即进程正在占用 CPU, 任何时候都只有一个进程。
  • 就绪态:进程已经具备执行的一切条件,正在等待分配 CPU 的处理时间片。
  • 等待态:进程正在等待某些事件,当前不能分配时间片, 进程不能使用 CPU,若等待事件发生(等待的资源分配到)则可将其唤醒,变成就绪态

-- 进程在系统中是并发运行的

tip:并发和并行的区别:
 

alt text

 

alt text

3、进程的特点

  • 动态性:进程的实质是程序的一次执行过程,进程是动态产生,动态消亡的
  • 并发性:任何进程都可以同其他进程一起并发执行
  • 独立性:进程是一个能独立运行的基本单位,同时也是系统分配资源和调度的独立单位;
  • 异步性:由于进程间的相互制约,使进程具有执行的间断性,即进程按各自独立的、不可预知的速度向前推进

4、进程的资源分配

alt text

二、进程的相关函数

1、获取进程的进程号

-- 函数头文件

  • #include <sys/types.h>
  • #include <unistd.h>

-- 函数原型

  • pid_t getpid(void);

-- 函数作用:

  • 获取当前运行的进程的进程号

-- 函数返回值:

  • 返回 进程的进程号

2、获取进程的父进程号

-- 函数的作用:

  • 返回父进程号
  • pid_t getppid(void);

3、创建进程函数

-- 函数头文件

  • #include <sys/types.h>
  • #include <unistd.h>

-- 函数原型

  • pid_t fork(void);

-- 函数的作用:

  • 当运行该函数时 会复制父进程所有资源
  • 创建出来一个新的进程并从fork函数开始运行
  • 父进程和子进程运行顺序随机 不确定

-- 函数的返回值:

  • 在父进程中返回 子进程进程号
  • 在子进程中返回 0

alt text

alt text

4、进程退出函数

-- 之前我们从主函数的return 0进行退出
如果我们想让进程从函数中退出可以调用以下函数来实现

-- 函数头文件

  • #include <stdlib.h>

-- 函数原型

  • void exit(int status);

-- 函数的作用:

  • 正常退出进程 可以直接当作main函数中return0;与return 0的作用一样,如也可以清空缓冲区。

-- 函数的参数:

  • status:status & 0xff 之后将值返回给父进程

5、进程退出函数

-- 函数头文件

  • #include <unistd.h>

-- 函数原型

  • void _exit(int status);

-- 函数的作用

  • 退出进程函数 会立马关闭所有的文件描述符,不会调用注册的退出处理程序

-- 函数的参数:

  • status:status & 0xff 之后将值返回给父进程

-- exit和_exit的区别

当你调用 exit 时,程序会做一些事情,比如:

  • 调用所有注册的退出处理程序。
  • 关闭所有打开的文件流。
  • 刷新输出流。

而调用 _exit 时,程序会立即终止,不会执行上述清理操作。

5、注册退出函数

-- 函数头文件

  • #include <stdlib.h>

-- 函数原型

  • int atexit(void (*function)(void));

-- 函数的作用

  • 注册一个函数 当进程正常死亡的时候会被调用

-- 函数的参数:

  • void (*function)(void):函数指针 指向一个返回值为
  • void 无参数的函数

-- 函数返回值:

  • 成功 返回 0
  • 失败 返回 非0

alt text

 

alt text

例:

-- 下面这个程序
fork()
fork()
fork()
printf(“hello world\n”);

alt text

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2053494.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

EXCEL——Vlookup17个高级用法

大纲 一、基本语法 1、参数详解 二、入门篇 1、单条件查找 2、屏蔽查找返回的错误值 三、进阶篇 1、反向查找 2、包含查找 3、区间查找 4、含通配符查找 5、多列查找 6、多区域查找 四、高级篇 1、多条件查找 2、合并单元格查找 3、带合并单元格的多条件查找 …

轻松玩转音频剪辑:推荐四大必备工具!

在这个多媒体时代&#xff0c;音频剪辑技能变得至关重要。无论是制作短视频、音频节目&#xff0c;还是音乐创作&#xff0c;一款得心应手的音频剪辑工具都能让你事半功倍。今天&#xff0c;我们将推荐几款热门音频剪辑工具&#xff0c;助你轻松玩转声音世界 福昕音频剪辑 链…

【数学建模】趣味数学模型——等额还款数学模型

问题 在银行贷款中&#xff0c;通常采用等额还款。假定银行贷款的年利率为 p&#xff0c;贷款 k 元&#xff0c;分 m 年采用每月等额还款方式还清。问每月还款多少钱&#xff1f;总共还的钱是多少&#xff1f;每月还款中还本金和利息各是多少元&#xff1f; 如果考虑每月等额…

Webrtc之SDP协议

SDP简介 SDP 最常用于 RTC 实时通话的协商过程&#xff0c;在 WebRTC 中&#xff0c;通信双方在连接阶段使用 SDP 来协商后续传输过程中使用的音视频编解码器(codec)、主机候选地址、网络传输协议等。 在实际的应用过程中&#xff0c;通信双方可以使用 HTTP、WebSocket、Data…

MySQL数据库主从复制

主从复制原理 MySQL的复制类型 基于语句的复制 &#xff08;默认&#xff09;基于行的复制混合类型的复制MySQL主从复制的工作过程 主从复制设置 主从复制时基于二进制文件的所以需要打开二进制文件 主数据库 在MySQL配置文件/etc/my.cnf修改或增加 #启用了MySQL的二进制日…

集合及数据结构第三节————包装类和简单认识泛型

系列文章目录 集合及数据结构第三节————包装类和简单认识泛型 包装类和简单认识泛型 基本数据类型和对应的包装类装箱和拆箱泛型泛型类的使用裸类型(Raw Type) &#xff08;了解&#xff09;泛型如何编译的泛型的上界泛型方法 文章目录 系列文章目录集合及数据结构第三节…

linux上常见问题

1.普通用户下&#xff0c;不能使用sudo 解决方法 1.切换到root用户下执行该指令是没有问题的 2.更改配置文件sudoers 1.进入root用户下&#xff1a;su - 2.编辑sudoers :visudo 此时就打开了一个文件 3.在该文件找到这么一行内容&#xff1a;root ALL(ALL) ALL 4.在该行的…

CUDA-MODE课程笔记 第8课: CUDA性能检查清单

我的课程笔记&#xff0c;欢迎关注&#xff1a;https://github.com/BBuf/how-to-optim-algorithm-in-cuda/tree/master/cuda-mode CUDA-MODE课程笔记 第8课: CUDA性能检查清单 课程笔记 这节课实际上算是CUDA-MODE 课程笔记 第一课: 如何在 PyTorch 中 profile CUDA kernels 这…

(16)prometheus(普罗米修斯)监控的搭建

prometheus是由go语言编写的&#xff0c;监控服务器是否正常运行的工具&#xff0c;使用experter工具收集数据&#xff0c;传到prometheus服务器。可以结合grafana图形化和pagerduty报警发送有邮件和信息。 实验环境&#xff1a; 关掉防火墙和selinux grafana.example.com 1…

为什么CNAPP将会是网络安全领域的一场革命?

随着越来越多的组织开始业务上云&#xff0c;云原生应用保护变得越来越复杂。众多高度碎片化产品&#xff0c;很难去保护一个广泛的、动态变化的攻击场景。当前想要解决这一难题&#xff0c;有一个很好的思路&#xff0c;就是云原生应用保护平台&#xff08;CNAPP&#xff09;。…

第二届机器人与软件工程前沿国际会议在贵阳闭幕

2024年8月13日&#xff0c;第二届机器人与软件工程前沿国际会议&#xff08;FRSE 2024&#xff09;在贵阳圆满闭幕。 本次大会由长沙理工大学主办&#xff0c;贵州大学、湖南科技大学、爱迩思出版社&#xff08;ELSP&#xff09;&#xff0c;ESBK国际学术交流中心、AC学术平台…

Python 办公自动化 处理 Excel 数据 【1】推荐

话说学好办公自动化,走遍天下都不怕&#xff01;&#xff01;&#xff01; 好的&#xff0c;现在开始。 因为是一些办公自动化的应用场景&#xff0c;所以需要电脑支持excel、word和ppt以及python的运行环境。 如果有电脑不支持Excel word ppt的以及python环境下载安装配置可…

Spring 声明式事务 @Transactional

目录 一、添加依赖 二、Transactional 作用 三、Transactional详解 3.1 rollbackFor 3.2 事务隔离级别 3.3 Spring 事务传播机制 Spring 声明式事务 Transactional的使用很简单&#xff0c;只需要添加依赖&#xff0c;在需要的方法或者类上添加 Transactional注解即可。 …

珠海盈致联手深圳盈怡成功上线“混工单柔性智能生产装备”

珠海盈致联手深圳盈怡推出的“混工单柔性智能生产装备”在全面而严密的市场测试中显示出卓越的性能和极高的用户满意度。 经过两年的精细研发和内部测试优化&#xff0c;该柔性生产线已成功完成了样板工厂的所有环节&#xff0c;在深圳市贤丰科技有限公司成功试跑上线&#xf…

联影医疗笔试考什么?如何通过联影在线测评|附真题库面试攻略

职小豚 一、联影医疗公司介绍 嘿&#xff0c;朋友们&#xff01;今天咱们来聊聊联影医疗这家在医疗领域大放异彩的企业。 联影医疗&#xff0c;那可是医疗科技界的一颗璀璨明星&#xff01;它就像一位勇敢的探索者&#xff0c;在医疗影像设备的研发和创新道路上不断前行。 联…

机器视觉运动控制一体机VPLC532E在汽车胶带缠绕的开放式CNC应用

市场应用背景 在汽车线束和零配件中&#xff0c;胶带缠绕是一种常见且重要的加工工艺&#xff0c;主要用于线束/零配件的捆扎、固定、绝缘保护等应用。在缠绕头控制下&#xff0c;胶带均匀缠绕在汽车线束/零配件表面&#xff0c;完成缠绕后&#xff0c;系统自动执行切割。汽车…

(普通用户)Cannot connect to the Docker daemon at unix:///var/run/docker.sock.

报错&#xff1a; Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?#大概像以下的报错内容 MernyPierreMBP:~ merny24$ docker info Client:Version: 26.1.4Context: defaultDebug Mode: falseServer: ERROR: Cann…

可以给IP地址申请SSL证书实现HTTPS访问吗?

IP地址证书&#xff0c;全称为IP地址的SSL/TLS证书&#xff0c;是一种专为公网IP地址&#xff08;或内网映射的外网&#xff09;颁发的数字证书。这种证书由受信任的证书颁发机构&#xff08;CA&#xff09;签发&#xff0c;旨在确保通过该IP地址进行的通信&#xff08;特别是H…

家务一键搞定!Astribot S1机器人让你秒变“甩手掌柜“

星尘智能 在这个忙碌的现代社会&#xff0c;谁不渴望拥有一个能够帮我们处理繁琐家务的得力助手呢&#xff1f;就在最近&#xff0c;星尘智能公司推出的全新AI机器人Astribot S1&#xff0c;正在让这个梦想变为触手可及的现实。 Astribot S1 Astribot S1 性能对比 从官网给出的…

【Mdijourney】AI作画提示词工程:精细化技巧与高效实践指南

文章目录 &#x1f4af;AI作画提示词基础结构1 图片链接1.1 上传流程 2 文字描述3 后置参数 &#x1f4af;AI作画提示词的文字描述结构1 主体主体细节描述2 环境背景2.1 环境2.2 光线2.3 色彩2.4 氛围 3 视角4 景别构图5 艺术风格6 图片制作方法7 作品质量万能词 &#x1f4af;…