进程管理命令:ps top pstree pgrep pidof kill killall bg fg jobs
ps:process status:进程状态查看,运行ps那个时刻系统进程状态;BSD风格(不使用连字符),sys V风格(使用连字符),GNU长选项(使用两个连字符)
a:显示和终端有关的进程
u:显示进程用户的信息
x:显示和终端无关的进程
-e:显示所有进程信息
-l:显示进程长格式
-F:显示进程的完整信息
ps aux:结果解析
USER:该进程是有哪个用户发起的
PPID:父进程号
PID:进程号 /proc目录存放着进程相关的信息 在CentOS7:PID为1的进程是systemd 在CentOS6 中PID为1的进程是init进程,PID为1的进程是系统中所有进程的父进程
%CPU:该进程占用的CPU百分比
%MEM:该进程占用内存的百分比
VSZ:虚拟内存集(计算进程所占物理内存时,物理内存包括共享库的空间)
RSS:常驻内存集(进程中不能被交换出去的数据)
TTY:运行在哪个终端
STAT:进程状态
D:不可中断睡眠状态
S:可中断睡眠状态
R:运行状态
T:停止状态
Z:僵尸状态
s:session leader:会话的领导者
<:优先级较高的进程(用户不可控)
N:优先级较低的进程(用户可控进程)
l:多线程进程
L:在内存中锁定分页
+:前台进程组中的进程
START:进程启动时间
TIME:该进程在CPU中实际运行的时长
COMMAND:该进程命令名称
ps -elF:结果解析
PRI:系统分配的优先级(用户不可更改)
NI:nice值,nice值的修改会影响pri的值,他们的总和不变
调整进程的nice值:调整正在运行进程的nice
renice [nice_num] PID
指定进程运行的nice值(让某个命令以指定nice运行)
nice -n [nice_num] COMMAND
top:动态查看进程状态,每隔3秒刷新一次进程状态信息
top结果解析:
第一行:当前系统时间 系统运行时长 登录系统的用户个数 过去1分钟,5分钟,15分钟平均负载
第二行:进程总数 正在运行的进程数 睡眠的进程数 停止状态进程数 僵尸状态进程数
第三行(按1键可以查看每个CPU的信息):CPU相关信息: us:用户进程所占CPU百分比 sy:系统进程所占CPU百分比 ni:nice所占CPU百分比 id:空闲进程所占CPU百分比 hi:硬件中断所占CPU百分比 si:软件中断所占CPU百分比 st:被hypervisor偷走的CPU的百分比
第四行:物理内存相关信息
第五行:交换分区相关信息
top交互式命令:
M:按所占内存百分比进行排序
P:按所占CPU备份比进行排序
T:按进程运行时长进行排序
c:是否显示COMMAND列完整路径
l:是否显示top第一行
t:是否显示top中第二行和第三行
m:是否显示内存的相关信息
k:杀死某个进程
q:退出top进程
pstree:查看进程树(查看父子进程关系)
pgrep:查看某个进程PID号 pgrep process_name
pidof:查看某个进程PID号 pidof process_name
kill:杀死某个进程(向进程传递某个信号)
-l:查看信号列表:
1:SIGHUP:不停止服务的情况下,重新读取配置文件,并且应用配置文件中的设置
2:SIGINT:Ctrl+c 中断某个进程
9:SIGKILL:强制杀死某个进程
15:SIGTERM:终止某个进程(默认信号),相当于会有预警
kill语法:
kill -sig_num PID
kill -sig_name PID
kill %num:杀死后台的某个作业,%不能省略,num为使用jobs命令查看时的序号
信号:进程间的通信(IPC)
内存共享等
killall:杀死整个进程树,用法同kill
bg:把进程调入后台继续运行
fg:把后台的进程调入前台运行
fg num:将后台序号为num的进程调入前台
jobs:查看后台运行的作业
+:下一次将要运行的后台作业
前台-->后台:
ctrl+z:把正在运行的进程调入后台,并停止运行
&:启动时直接调入后台运行,末尾加上该符号