从零开始的云计算生活——第十二天,情同手足,进程管理。

一·故事背景

本次内容是相对比较简单的一次,只需要了解并且记忆命令

二·进程查看命令

1·pstree

用于查看进程树之间的关系,谁是父进程,谁是子进程,可以清楚的看出来是谁创建了谁

用法:

pstree [选项] 

选项描述
-A各进程树之间的连接以ASCII码字符来连接
-U:各进程树之间的连接以utf8字符来连接,某些终端可能会有错误
-p同时列出每个进程的PID
-u同时列出每个进程的所属账号名称

2·ps

显示系统当前进程瞬间运行状态

ps [选项]  

选项描述
-A所有的进程均显示出来,与 -e 具有同样的效用
-a显示现行终端机下的所有进程,包括其他用户的进程
-u以用户为主的进程状态
-x通常与 a 这个参数一起使用,可列出较完整信息
-l较长、较详细的将该PID 的的信息列出

查看进程状态

ps aux

名称含义

USER

进程的所有者
PID进程的 ID
%CPU进程占用的 CPU 百分比
%MEM进程占用的内存百分比
VSZ进程使用的虚拟内存大小
RSS进程使用的物理内存大小
TTY进程所在的终端
STAT进程的状态,如S(休眠)、R(运行)、Z(僵尸进程)等
START进程的启动时间
TIME进程运行的时间
COMMAND启动进程的命令

进程状态

名称描述

S

休眠
s父进程
R运行
Z僵尸进程(前台程序已死,但后台驻留进程没有正常退出;后果就是占用资源不干活。)
D等待硬件I/O,不能被信号唤醒
T暂停
X进程完全禁止
I(大写i)空闲状态
<优先级较高
N优先级较低
l(小写L)进程多线程
+进程是前台进程组

ps -efj(显示进程父子关系)

选项描述
-e显示所有进程
-l长格式输出
-f完整格式输出

3·pgrep

查看进程的信息,包括进程是否已经消亡,通过pgrep来获得正在被调度的进程的相关信息。 pgrep通过匹配其程序名,找到匹配的进程

pgrep [选项] pidname          

名称描述
-l同时显示进程名和PID
-o当匹配多个同一命令启动的进程时,显示进程号最小的那个
-n当匹配多个同一命令启动的进程时,显示进程号最大的那个

4·top、htop

top:动态监控系统处理器状态,htop姑且称之为top的增强版

htop默认未安装

yum install epel-release -y    #安装epel源     
yum install htop -y     #安装htop

常用选项

  • -d:指定更新的间隔时间,以秒为单位。

  • -n:指定更新的次数。

  • -p:监控指定进程的 ID。

  • -u:监控指定用户的进程。

常用按键

  • 空格键:立即刷新显示。

  • M:按照内存使用百分比对进程进行排序。

  • P:按照 CPU 使用百分比对进程进行排序。

  • T:按照进程运行时间对进程进行排序。

  • q:退出 top 命令。

  • h:显示帮助信息。

三·进程管理命令

1·kill

kill [选项] pid 

选项描述
-l列出所有信号参数
-a当处理当前进程时,不限制命令名和进程号的对应关系
-u指定用户
-p指定kill 命令只打印相关进程的进程号,而不发送任何信号
-s发送指定的信号
-9强制杀死
-0(数字零)用来检测一个进程是否存在。

信号名称作用
SIGHUP终端挂起或者控制进程结束时发出的信号,通常用于通知守护进程重新读取配置文件等。
SIGINT键盘中断信号,通常由用户按下 Ctrl+C 产生,用于终止正在运行的程序。
SIGQUIT键盘退出信号,通常由用户按下 Ctrl+\ 产生,用于使程序异常退出并产生核心转储文件(如果可能)。
SIGILL非法指令信号,表示程序执行了一条非法的机器指令。
SIGTRAP跟踪陷阱信号,用于调试程序,通常由断点触发。
SIGABRT异常终止信号,通常由程序内部的 abort 函数调用产生。
SIGBUS总线错误信号,通常表示访问内存时出现了总线错误。
SIGFPE浮点运算异常信号,例如除以零等浮点运算错误。
SIGKILL强制终止信号,无法被捕获或忽略,用于立即终止进程。
SIGUSR1用户自定义信号 1,留给用户程序自定义用途。
SIGSEGV内存访问越界信号,通常表示程序尝试访问非法的内存地址。
SIGUSR2用户自定义信号 2,留给用户程序自定义用途。
SIGPIPE管道破裂信号,当进程向一个没有读端的管道写入数据时产生。
SIGALRM闹钟信号,通常由 alarm 函数设置的定时器超时产生。
SIGTERM终止信号,是 kill 命令默认发送的信号,用于请求程序正常终止。
SIGSTKFLT协处理器栈错误信号,在某些特定架构的系统上使用。
SIGCHLD子进程状态改变信号,当子进程终止、暂停或继续运行时,父进程会收到此信号。
SIGCONT继续执行信号,用于使暂停的进程继续运行。
SIGSTOP暂停进程信号,无法被捕获或忽略,用于暂停进程的执行。
SIGTSTP终端停止信号,通常由用户按下 Ctrl+Z 产生,用于暂停前台进程的运行。
SIGTTIN后台进程从控制终端读取数据时收到的信号。
SIGTTOU后台进程向控制终端写入数据时收到的信号。
SIGURG紧急数据到达信号,通常用于网络编程中表示有紧急数据需要处理。
SIGXCPU超过 CPU 时间限制信号,表示进程超过了设定的 CPU 使用时间限制。
SIGXFSZ超过文件大小限制信号,表示进程试图扩大文件超过了系统限制。
SIGVTALRM虚拟定时器信号,用于在虚拟时间内设置定时器超时。
SIGPROF性能分析定时器信号,用于性能分析工具。
SIGWINCH窗口大小改变信号,当终端窗口大小发生改变时产生。
SIGIO异步 I/O 信号,表示异步 I/O 事件发生。
SIGPWR电源故障信号,在某些系统上表示电源状态发生变化。
SIGSYS系统调用错误信号,表示进程执行了一个无效的系统调用。
SIGRTMIN实时信号的最小值。
35 - 64SIGRTMIN+1 至 SIGRTMAX 是一系列的实时信号,用于实时应用程序中的优先级信号传递等

2·pkill与killall

pkill是ps命令和kill命令的结合,按照进程名来杀死指定进程,pkill和killall应用方法差不多,也是直接杀死运行中的程序,如果想杀掉单个进程,请用kill来杀掉。

pkill/killall [选项] 进程名

四·进程类型

1·前台进程

在终端界面运行的进程,运行前台进程后,终端无法操作

#注意:该运行前台进程的方式,当终端关闭时,进程也会随着关闭

nohup firefox & #关闭终端,进程不掉


#查看
jobs


#将进程调到前台运行
fg 1


#将正在运行的前台进程放到后台运行
ctrl + z
bg 1

2·后台进程

驻留在后端运行的进程

五·总结

进程管理内容较少,整体比较简单,学会使用日常使用的多的命令即可,背诵起来比较轻松。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值