Linux应用软件编程-多任务处理(进程)

多任务:让系统具备同时处理多个事件的能力。让系统具备并发性能。方法:进程和线程。这里先讲进程。

进程(process):正在执行的程序,执行过程中需要消耗内存和CPU。

进程的创建:操作系统在进程创建时,会为每个进程分配4G的虚拟内存空间。

进程的调度:宏观并行,微观串行

进程的状态:第一张是简化版的进程状态助于理解,第二张是Linux的进程状态

进程的消亡:进程的退出 -》进程空间的回收

查看进程的命令:

ps -aux:查看进程的相关信息

ps -aux | grep ./a.out:

| : 管道:将前面结果的输出作为后面的输入

grep : 查找

ps -ef:查看进程的信息(父进程)

pstree:查看进程间的关系

pstree -p:查看进程间的关系(包含进程id号)

pstree -sp 进程ID:查看指定进程的族谱关系

top:查看进程信息,CPU占有率,MEM占有率

kill:给进程发送信号;kill -信号num 进程ID: 给指定进程发送一个信号

创建进程:

pid_t pid fork();子进程拷贝父进程0-3G的虚拟内存空间,PCB块,进程ID号不会拷贝

功能:创建一个新的进程

返回值:>0 : 父进程,返回值是子进程id号;==0:子进程;-1 : 出错

这里放一张图帮助理解:

getpid():用来获取当前进程的id号

相关推荐
Raina测试2 分钟前
Maestro实现IOSUI自动化
运维·自动化
不像程序员的程序媛7 小时前
系统cpu内存负载资源分析
运维·服务器·数据库
Uncertainty!!9 小时前
Ubuntu 22.04 安装超好用中文输入法rime-ice(雾凇拼音)过程记录
linux·ubuntu·中文输入法
ShineWinsu10 小时前
对于Linux:网络基础的解析
linux·网络·面试·udp·笔试·ip·tcp
Asuicao10 小时前
centos7.9版本升级ssh OpenSSH 9.8p1 源码 OpenSSL 1.1.1w 源码包以及安装升级回滚文档
运维·ssh
耍酷的魔镜10 小时前
谈谈如何使用Netty开发实现高性能的RPC服务器
服务器·网络协议·rpc
志栋智能10 小时前
超自动化安全中的威胁狩猎
运维·安全·自动化
↘"LYong11 小时前
旧版 CentOS 安装 Docker 完整指南(附国内镜像加速)
linux·运维·docker
Zhang~Ling11 小时前
Vim 多模式详解:命令、插入、底行与插件配置
linux·编辑器·vim
Elastic 中国社区官方博客11 小时前
Elastic 在 Everest Group 企业搜索产品 PEAK Matrix® 评估 2026 中被评为领导者
大数据·运维·人工智能·elasticsearch·搜索引擎·ai·全文检索