进程 的初识

程序和进程有什么区别

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

相关推荐
郝学胜-神的一滴20 小时前
Linux信号屏蔽字详解:原理、应用与实践
linux·服务器·开发语言·c++·程序人生
weixin_3077791320 小时前
Jenkins ASM API 插件:详解与应用指南
java·运维·开发语言·后端·jenkins
是垚不是土20 小时前
轻量化CICD落地:基于Jenkins与Supervisor的中小企业服务发布实践
运维·servlet·ci/cd·微服务·jenkins
温启志c#20 小时前
【无标题极简版的 TCP 服务端和客户端实现,保留核心功能,去掉复杂封装,适合快速测试:】
运维·服务器·网络
神秘奇男子20 小时前
openEuler 25.09 企业级 MySQL主从复制部署与性能优化实战提升50%
linux·mysql
北京耐用通信20 小时前
三步打通数据壁垒:耐达讯自动化Ethernet/IP转CC-Link方案全解析。建议点赞收藏
运维·tcp/ip·自动化
羊村积极分子懒羊羊20 小时前
nginx的https的搭建
运维·nginx·https
moringlightyn20 小时前
进程控制(程序替换+自定义Shell)
linux·服务器·c++·笔记·c·shell·进程
不想写笔记20 小时前
C语言 操作符(下)
c语言·笔记
像风一样自由202021 小时前
Docker 与 Docker Compose:从零开始的容器化之旅
运维·docker·容器