进程 的初识

程序和进程有什么区别

  • 程序是静态的概念,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程序的存储空间是如何分配的(面试可能会问)

相关推荐
我是koten8 小时前
【运维杂谈】K8s遇到Terminating的名称空间删除不了怎么办?(解决方案亲测有效)
linux·运维·服务器·云原生·kubernetes·k8s·名称空间
Zwawa15 小时前
用两个按键做一个OLED菜单:先把选择和执行分开
c语言·单片机·嵌入式
2601_9679873716 小时前
安装 Redis 或 Redis Stack
linux·windows·redis·macos·安装
feng_you_ying_li16 小时前
linux之数据链路层
linux·网络·智能路由器
修己xj16 小时前
服务器无法解析域名?一次 DNS 配置缺失的排查与修复
运维
GeW17 小时前
高端化走到深处,是数据库和Linux的事
linux
程序员初一18 小时前
Linux 远程桌面有四种做法
linux·ssh
爱吃奥利奥_wen19 小时前
SQL Server 基础语法详解:从建库建表到约束与增删改查
服务器·数据库·oracle
程序开发阿元19 小时前
1C1G 能跑什么:把留常驻服务和不留摆进一张内存表
linux·ssh
心仪久了会沦陷19 小时前
C语言数据结构入门——树与二叉树详解:概念、堆实现与链式遍历
c语言·数据结构·算法