进程 的初识

程序和进程有什么区别

  • 程序是静态的概念,gcc xxx.c -o pro 磁盘中生成的文件,叫做程序。
  • 进程是程序的一次运行活动,通俗点的意思就是程序跑起来了,系统中就多了一个进程。

如何查看系统中有哪些进程

使用 ps 指令(完整形式:ps -aux

实际工作中,不可能一下子要看这么多进程,所以可以结合 grep 来查找程序中是否存在具体某个进程

例如,我就想查找带有"init"的进程:

cpp 复制代码
ps -aux|grep init

使用 top 指令,类似windows任务管理器

什么是进程标识符

每一个进程都有一个非负整数表示的唯一ID,叫做pid,类似身份证

  • PID = 0 --> 交换进程(swapper) :进程调度
  • PID = 1 --> init进程:系统初始化

获取进程标识符的函数:getpid & getppid

需要包含的库:

cpp 复制代码
#include <sys/types.h>
#include <unistd.h>

函数原型1:

cpp 复制代码
 pid_t getpid(void);

调用这个函数之后,返回的值就是自身进程的pid,变量类型就是pid_t
函数原型2:

cpp 复制代码
pid_t getppid(void);

调用这个函数之后,返回的值就是父进程的pid,变量类型就是pid_t

什么叫父进程,什么叫子进程

进程 A 创建了进程 B, 那么 A 叫做父进程,B 叫做子进程,父子进程是相对的概念,理解为人类中的父子关系。

C程序的存储空间是如何分配的(面试可能会问)

相关推荐
wj3055853785 小时前
课程 9:模型测试记录与 Prompt 策略
linux·人工智能·python·comfyui
为何创造硅基生物5 小时前
C语言 结构体内存对齐规则(通俗易懂版)
c语言·开发语言
abigriver5 小时前
打造 Linux 离线大模型级语音输入法:Whisper.cpp + 3090 显卡加速与 Rime 中英混输终极调优指南
linux·运维·whisper
仰泳之鹅5 小时前
【C语言】自定义数据类型2——联合体与枚举
c语言·开发语言·算法
wangqiaowq5 小时前
windows下nginx的安装
linux·服务器·前端
YYRAN_ZZU6 小时前
Petalinux新建自动脚本启动
linux
jolimark6 小时前
C语言自学攻略:小白入门三步走
c语言·编程入门·学习路线·实践项目·自学攻略
charlie1145141916 小时前
嵌入式Linux驱动开发pinctrl篇(1)——从寄存器到子系统:驱动演进之路
linux·运维·驱动开发
Agent手记6 小时前
异常考勤智能预警与处理与流程优化方案 | 基于企业级Agent的超自动化实战教程
运维·人工智能·ai·自动化
于小猿Sup7 小时前
VMware在Ubuntu22.04驱动Livox Mid360s
linux·c++·嵌入式硬件·自动驾驶