Linux进程1:进程概念,查看进程,进程标识符,父进程子进程,空间分配

进程概念,查看进程,进程标识符,父进程子进程,空间分配

问1:什么是程序?什么是进程,有什么区别?

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

问2:如何查看系统中有哪些进程?

使用ps指令查看
实际工作中,配合grep来查找程序中是否存在某一个进程
Ps -aux:查看当前所有进程
Ps -aux|grep int:查找特定进程
Top:类似windows下的任务管理器,显示相关信息

问3:什么是进程标识符?

每一个进程都有一个非负整数表示唯一的ID,叫做pid,类似身份证
Pid=0:称作交换进程(swapper)
作用:进程调度
Pid=1:init进程
作用: 系统初始化
获取进程:
查找man手册:Man 2 getpid
#include <sys/types.h>
#include <unistd.h>
pid_t getpid(void);
pid_t getppid(void);
获取自己的进程ID号
pid_t pid;
pid=getpid();
printf(“my pid :%d\n”,pid);

问4:什么叫父进程?什么叫子进程?

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

问5:C程序的存储空间如何分配?

在这里插入图片描述

正文段:这是由CPU执行的机器指令部分。
初始化数据段:通常将此段称为数据段
非初始化数据段:通常将此段成为bss段,在程序开始执行之前,内核将此段中的数据初始化为0或者空指针。
栈:存放函数,供调用使用
堆:通常在堆中进行动态存储分配。如:malloc

猜你喜欢

转载自blog.csdn.net/weixin_40734514/article/details/108973722
今日推荐