红帽rhce之查看进程(代码片段)

海鸥爱上鱼 海鸥爱上鱼     2023-02-18     440

关键词:

列出进程

进程的定义: 进程(process)是已启动的可执行程序的运行中实例,由以下部分组成:
 1. 已分配的内存地址空间
 2. 安全属性,包括所有权凭据与特权。
 3. 程序代码中一个或多个的执行线程(thread)
 4. 进程状态

进程的环境包括:

 1. 本地与全局变量
 2. 当前调度上下文(context)
 3. 已分配的系统资源,如文件描述符与网络端口。
现有的父进程复制自己的内存地址空间(fork)来创建一个新的子进程结构。
每个新进程分配有一个唯一进程ID(PID),满足跟踪和安全性。
PID和父进程ID(PPID)是新进程环境的元素。
任何进程可创建子进程,所有进程都是第一个系统进程创建的。
在RHEL 8/7上,第一个系统进程是systemd

通过fork进程,子进程继承安全性⾝份、过去和当前的文件描述符、端口和资源特
权、环境变量,以及程序代码。
随后,子进程可能执行(exec)其自己的程序代码。
通常,父进程在子进程运行期间处于睡眠状态(sleep),设置在子进程完成时发出
信号的请求(wait)。
在退出时,子进程已经关闭或丢弃了其资源和环境。
唯一剩下的资源称为僵停(zombie),是进程表中的一个条目(entry)。
父进程在子进程退出时收到信号被唤醒(wake),清理进程表的zombie条目,释放
子进程的最后一个资源。
然后,父进程继续执行自己的程序代码。

描述进程状态:

多任务操作系统中,每个CPU(或CPU核心)同一时间片处理一个进程,
 进程运行时具有不同状态。

Linux进程状态说明:

 1. R(Running or Runnable,运行):
 正在运行或在运行队列中等待。
 2. S(Sleeping,睡眠):

 可中断睡眠,浅度睡眠,可被唤醒,在等待某个条件的形成或接收到(子进程)
信号。
 3. D(Uninterruptible Sleeping/Disk Sleeping,不可中断睡眠):
 不可中断睡眠,深度睡眠,收到信号不唤醒和不可运行,通常在磁盘写入时发
生。
 4. Z(Zombie,僵死):
 子进程终止退出,父进程仍在运行,但父进程未等待子进程的退出状态,即父进
程不调用wait()waitpid()系统调用,子进程进入僵死状态。
 5. X(Dead,死亡):
 父进程清理子进程的剩余状态,彻底释放子进程资源,该状态在进程列表中不出
现。
 6. T(Traced or Stopped,停止):
 进程收到SIGSTOP、SIGTSTP、SIGTTOU等信号后停止运行。
  • 注意:
 1. Linux进程状态后缀表示:
 a. <:优先级高的进程
 b. N:优先级低的进程
 c. L:有些页被锁进内存
 d. s:具有子进程的父进程
 e. l:具有多线程的进程
 f. +:位于后台的进程组
 2. $ man ps:查看ps帮助文档
 3. 若子进程的父进程先结束,那么该进程就不会变成僵尸进程。
 因为每个进程结束时,系统都会扫描当前系统中所运行的所有进程,查看是否有
哪个进程是刚结束的
 这个进程的子进程,如果存在子进程,就由1号进程(init或systemd进程)接
管,成为其父进程,
 从而保证每个进程都会有一个父进程,该子进程称为“孤儿进程”。
 4. init或systemd会自动wait其子进程,因此被init或systemd接管的所有进程都
不会变成僵尸进程。
 5. 产生僵尸进程的原因:程序代码逻辑问题、对程序的非常规操作等。
 6. 处理僵尸进程:
 a. 僵尸进程在进程表中常表现为"<defunct>"状态
 b. 杀死该僵尸进程的父进程可将其清除,若依然无效可重启操作系统。

列出进程:
ps命令用于列出当前会话进程,包括:

 1. 运行进程的用户UID
 2. 进程PID
 3. 进程使用的CPU百分比
 4. 进程的物理内存使用百分比(不包含Swap空间)
 5. 进程的STDOUT位置,称为控制终端。
 6. 当前进程状态

其中ps -aux(UNIX POSIX格式)不同于 ps aux(BSD格式)
$ ps aux:查看系统上运行的所有进程,-a选项为显示当前终端的进程,-u选项显示运行进程的用户。

 $ ps aux --sort [+|-]%cpu:正序或反序排列CPU使用百分比
 $ ps aux --sort [+|-]%mem:正序或反序排列物理内存使用百分比
 $ ps aux --sort [+|-]rss:正序或反序排列实际使用的物理内存
 $ ps auxm:查看系统上运行的所有进程,并在每个进程下显示该进程的所有线程。
 $ ps lax:长列表格式输出系统上运行的所有进程
 $ ps -ef:全格式输出系统上运行的所有进程
 $ ps -efL:全格式输出系统上运行的所有进程,并显示给个进程的线程数
(NLWP)。
 $ ps -L -C <process_name>:查看指定进程的线程信息
 $ ps -L [-p|p|-q|q] <pid>:查看指定进程的线程信息
 
 [root@VM-0-3-centos ~]# ps -aux
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.2 125616  4088 ?        Ss   Oct09  11:29 /usr/lib/systemd/systemd --switch
root         2  0.0  0.0      0     0 ?        S    Oct09   0:00 [kthreadd]
root         4  0.0  0.0      0     0 ?        S<   Oct09   0:00 [kworker/0:0H]
root         6  0.0  0.0      0     0 ?        S    Oct09   1:14 [ksoftirqd/0]
[root@VM-0-3-centos ~]# ps lax
F   UID   PID  PPID PRI  NI    VSZ   RSS WCHAN  STAT TTY        TIME COMMAND
4     0     1     0  20   0 125616  4088 ep_pol Ss   ?         11:29 /usr/lib/systemd/systemd --sw
1     0     2     0  20   0      0     0 kthrea S    ?          0:00 [kthreadd]
1     0     4     2   0 -20      0     0 worker S<   ?          0:00 [kworker/0:0H]
1     0     6     2  20   0      0     0 smpboo S    ?          1:14 [ksoftirqd/0]
[root@VM-0-3-centos ~]# ps -ef
UID        PID  PPID  C STIME TTY          TIME CMD
root         1     0  0 Oct09 ?        00:11:29 /usr/lib/systemd/systemd --switched-root --system 
root         2     0  0 Oct09 ?        00:00:00 [kthreadd]
root         4     2  0 Oct09 ?        00:00:00 [kworker/0:0H]
root         6     2  0 Oct09 ?        00:01:14 [ksoftirqd/0]
root         7     2  0 Oct09 ?        00:00:00 [migration/0]
root         8     2  0 Oct09 ?        00:00:00 [rcu_bh]
root         9     2  0 Oct09 ?        00:03:37 [rcu_sched]

方括号中的进程(通常位于列表顶部)为调度的内核线程。
僵停列为 exiting 或 。
ps命令的输出显示一次。
使用top命令来获得动态更新的进程显示。
pstree命令可以采用树形显示格式,以便查看父进程和子进程之间的关系。

红帽rhce之目录增删改查(代码片段)

文章目录创建目录:复制目录:移动文件或目录:(一般用于重命名)删除文件或目录:标准输入、标准输出与标准错误:输出重定向示例构建管道目录的增删改查创建目录:mkdir命令可创建一个或... 查看详情

全面分析rhce(红帽认证工程师)考试题目之----alias(自定义别名)篇

自定义命令alias别名设置 alias[别名名称]#查看已设计的别名 alias别名名称='实际执行命令行' #定义新的别名 unalias[别名名称] #取消以设置的别名 配置文件  用户个性化配置文件 影响指定用户的bash解释环境 ~/.bashrc(用... 查看详情

全面分析rhce7(红帽认证工程师)考试题目之---firewall(防火墙)篇

防火墙策略管理(firewall)作用:隔离 局域网和外网之间 阻止入站,允许出站 软件防火墙 系统服务:firewalld 管理工具:firewall-cmd(命令工具、Linux7),firewell-config(图形工具)查看防火墙服务状态 [[email protected]~]#systemctlstatusfirewa... 查看详情

rhce7学习里程-4用户权限,简单进程管理(代码片段)

 #创建用户useraddabc使用vipw命令查看/etc/passwd文件下是否存在新用户#G却换到最后一行#创建账号的时候,默认也新建了一个组,组名跟用户名一样groupaddccnavigr#查看组文件#把用户加入到组当中gpasswd-aabcccna#查看用户在那些组里... 查看详情

全面分析rhce7(红帽认证工程师)考试题目之----邮件篇

基础邮件服务 电子邮件服务器的基本功能 为用户提供电子邮箱存储空间(用户名@邮件域名) 处理用户发出的邮件-------传递给收件服务器 处理用户收到的邮件-------投递到邮箱 配置前提  虚拟机server0 [[email protected]~]#f... 查看详情

全面分析rhce7(红帽认证工程师)考试题目之----samba文件共享篇

samba文件共享(共享文件夹)完成了windows和linux的文件共享配置SMB共享  Samba软件项目用途:为客户机提供共享使用的文件夹协议:SMB(TCP139),CIFS(TCP445)  所需软件包:samba  系统服务:smb在RHCE7中有这样... 查看详情

全面分析rhce7(红帽认证工程师)考试题目之----nfs文件共享篇

配置NFS共享(Linux与Linux之间)NetworkFlieSystem网络文件系统 协议:NFS(TCP/UDP2049),RPC(TCP/UDP111)所需软件包:nfs-utils(默认会装)系统服务:nfs-server搭建基本只读NFS服务1.检测是否装包[[email protected]~]#rpm-qnfs-utilsnfs-utils-1.3.0... 查看详情

全面分析rhce7(红帽认证工程师)考试题目之----配置ipv6地址,配置聚合连接篇

配置聚合连接(网卡绑定) team,聚合连接(也称为链路聚合) 由多块网卡一起组建而成的虚拟网卡 作用1:轮询式(roundrobin)的流量负载均衡 作用2:热备份(activebackup)连接冗余 热备份配置:{"runner":{"name":"ac... 查看详情

#我要当51cto学院红帽锦鲤#(代码片段)

【考试目的】从事Linux的运维,想通过RHCE的考试来夯实自己的基本功,顺便刷个证方便跳槽(个人想法)。【学习经历】2018/10月中旬报班51CTO15期RHCE课程。该课程每周一、三、五晚20:00-22:00会有直播课。当时参加的时候,已经讲... 查看详情

rhce-b5.使用ansiblegalaxy安装角色(代码片段)

红帽RHCE考试下午-RHCE(RH294)RH294任务概览考试时间4个小时,6台虚拟机,15道题原来通过脚本或者集群做的题现在都需要使用playbook实现考试时大概有6台虚拟服务器,都已经做好了互相的免密做题在ansible控制... 查看详情

rhce-b6.创建和使用apache角色(代码片段)

红帽RHCE考试下午-RHCE(RH294)RH294任务概览考试时间4个小时,6台虚拟机,15道题原来通过脚本或者集群做的题现在都需要使用playbook实现考试时大概有6台虚拟服务器,都已经做好了互相的免密做题在ansible控制... 查看详情

rhce-b15.更新ansible库的密钥(代码片段)

红帽RHCE考试下午-RHCE(RH294)RH294任务概览考试时间4个小时,6台虚拟机,15道题原来通过脚本或者集群做的题现在都需要使用playbook实现考试时大概有6台虚拟服务器,都已经做好了互相的免密做题在ansible控制... 查看详情

红帽rhce考试要注意的几点

RHCE的考试现在来说分为2个部分,RHCSA+RHCE。其中RHCSA是相对基础的系统管理员的考试,考试时间一般在上午,时间为2个半小时,内容大概是一些基本的系统操作应用,一般来说不是很难,但是很考验细心程度。RHCE的考试是大量... 查看详情

rhce-b1.按要求安装和配置ansible(代码片段)

红帽RHCE考试下午-RHCE(RH294)RH294任务概览考试时间4个小时,6台虚拟机,15道题原来通过脚本或者集群做的题现在都需要使用playbook实现考试时大概有6台虚拟服务器,都已经做好了互相的免密做题在ansible控制... 查看详情

rhce-b2.创建和运行ansible临时命令(代码片段)

红帽RHCE考试下午-RHCE(RH294)RH294任务概览考试时间4个小时,6台虚拟机,15道题原来通过脚本或者集群做的题现在都需要使用playbook实现考试时大概有6台虚拟服务器,都已经做好了互相的免密做题在ansible控制... 查看详情

rhce-b9.利用playbooke生成主机清单文件(代码片段)

红帽RHCE考试下午-RHCE(RH294)RH294任务概览考试时间4个小时,6台虚拟机,15道题原来通过脚本或者集群做的题现在都需要使用playbook实现考试时大概有6台虚拟服务器,都已经做好了互相的免密做题在ansible控制... 查看详情

linux系列之查看进程线程的方法(代码片段)

在window系统查看系统进程,我们一般会使用Ctrl+Shift+Esc打开系统进程监控页面,但是在Linux系统查看进程一般使用top命令或者ps命令,但是如果要查看线程怎么查看?其实也可以使用这两个命令,所以本博... 查看详情

rhce-b14.基于ansible密码库创建用户帐户(代码片段)

红帽RHCE考试下午-RHCE(RH294)RH294任务概览考试时间4个小时,6台虚拟机,15道题原来通过脚本或者集群做的题现在都需要使用playbook实现考试时大概有6台虚拟服务器,都已经做好了互相的免密做题在ansible控制... 查看详情