当前位置: 首页 > news >正文

Linux进程:进程属性

前言

今天的博客给大家分享一下Linux进程有哪些进程属性,欢迎大家前来学习!!!
如有不对,评论区讨论哦。

一、进程有哪些属性呢?

在这里插入图片描述
我们随便用ps ajx查看一个进程,head -1显示第一行,
我们会发现第一行有10个属性,可以肯定的是进程最少有这10个属性没得跑了,
当然,肯定会有更多的属性没有显示出来。

那么,接下来,我们详细介绍一下这10个字段究竟是啥吧?


二、PID — 进程标识符

pid,也就是进程标识符,用来区分进程的唯一性

由于操作系统不断在创建进程,所以PID是在递增。
我们会发现,将同一个进程关掉重新启动后,PID是会变化的。

那么如何获取pid呢?
getpid系统调用即可获取当前进程的pid
头文件是
<unistd.h>和<sys/types.h>

#include <unistd.h>
#include <sys/types.h>pid_t getpid();

三、PPID — 父进程的标识符

在LInux系统中,系统启动之后,新创建任何进程的时候,都是由自己的父进程创建的!
ppid就是一个进程的父进程的唯一标识符,

如何获取父进程号呢?
和获取进程号非常相似
使用getppid系统调用即可获取父进程号。

#include <unistd.h>
#include <sys/types.h>pid_t getppid();

当我们去结束进程又重启进程,发现ppid不会改变,
去查看后,发现ppid对应的进程是bash进程

在这里插入图片描述

在命令行中,执行命令/执行程序,本质上是bash这个进程,创建的子进程,由子进程执行我们的代码!

四、PGID — 进程组标识符

多个进程之间除了父子关系、兄弟关系,还有组内关系。
eg:pidof a.out | xagrs kill -9
这就是一个进程组,这个进程组里面有两个进程pidof a.out 和 xagrs kill -9
这两个进程单独用,没啥用,组合起来就能干掉a.out这个 网路服务。

进程组id 等于 进程组中最先被创建的进程的pid,也就是组长进程的pid

而一个进程组,往往是组内多个进程同时配合,完成一个任务/作业的。
所以一个进程组对应着一个任务号

五、SID — 会话ID

s的全称是session会话的意思。

每当一个用户登录的时候,操作系统就会建立一个session会话,同时在会话里面启动一个bash进程,并且打开一个终端文件。
在这个终端中启动的进程,无论是前台进程,还是后台进程,都和bash属于同一个会话。

但是,我们退出的时候,肯定是要释放会话的,这是不论是前台进程,还是后台进程,
因为他们都属于这个session,所以这些进程都可能会受到影响。

如果我们不想让进程收到session的影响,就要让进程变成守护进程了
守护进程的知识,在后面的章节中,我们会详细讲解。

六、TTY — 这个进程运行的终端号

我们可以同时打开多个终端,每一个终端上都可以运行一个进程,
这个TTY就是标识我这个进程在哪一个终端上运行。

七、STAT — 进程的状态

一个进程在不同的时候可能表现出不同的状态,
比如下图中的状态:
在这里插入图片描述

但是这是操作系统原理中的进程状态,具体Linux系统中的进程状态,我们在下一篇博客中再和大家分享吧

八、UID — 启动进程的用户的ID

UID用来标识一个用户,每个用户在登录的时候都会拥有一个UID,
UID不仅会在权限校验的时候有用,
在一个进程启动的时候,也会记录下来这个进程是哪一个用户启动的。

为什么有用户名还不够?还要再弄一个UID呢?
思考一下,字符串和数字谁比较起来更快速呢?
显然是数字,所以UID选择用数字来标识一个用户,进行校验的时候速度更快。

九、TIME、COMMAND

time表示这个进程运行了多长时间,
command表示这个进程是什么指令启动的。

http://www.dtcms.com/a/541409.html

相关文章:

  • word文档做网站建立网站地图
  • 大连建设网节能办公室网站随州网站seo
  • SSM老年公寓管理系统4do68(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
  • 网站制作佛山海拉尔网站建设平台
  • 推客系统开发:从技术架构到业务落地的全栈实现指南
  • Spring Boot 日志体系 Logback + SLF4J 深入剖析
  • Perl 格式化输出
  • 网站建设三种方法广州h5网站制作
  • 一文讲透BOM、MRP、WMS
  • ai最新的发展趋势有哪些
  • 简化AI服务构建的Python框架leptonai
  • 解决 Vray for 3ds Max 三大常见生产问题,提升渲染工作流效率
  • 做网站搭建环境网站建设在学校中的作用
  • 优秀的网站建设吉林建设厅官方网站
  • STM32H742-ARM例程32-LCD
  • 基于谱图特征解析与机器学习模型融合的非靶向污染物识别策略
  • 下载| Windows 11 ARM版10月官方ISO系统映像 (适合部分笔记本、苹果M系列芯片电脑、树莓派和部分安卓手机平板)
  • 【u-boot】重定位(ARM32)-relocate_code
  • Java Web 开发的核心组件:Servlet, JSP,Filter,Listener
  • 怎么做qq分享网站深圳中瑞建设集团官方网站
  • 20251028在荣品RD-RK3588-MID开发板的Android13系统下解决关机的时候最近打开的应用不关的问题
  • 网站建设功能套餐表怎样创建网站桌面快捷方式
  • 当 Claude Code 登陆浏览器:我们如何用 Gateone.ai 把“移动编码”从炫技变成生产力核弹
  • Labview多种通信集合
  • 炫酷文字制作网站网站建设最快多长时间
  • 【自然资源】宅地基误划为永久基本农田怎么办?
  • Python:批量下载已知gene symbol蛋白的PDB文件
  • 废旧台式机变身私有NAS
  • 探索Agent工具调用时的高熵时刻
  • c 转网站开发电脑培训网上培训班