与进程相关的命令:
● ps – 产生一个当前所有进程信息的快照
[root@centos7rzc ~]# ps auxUSER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMANDroot 1 0.0 0.5 348060 5708 ? Ss 12:01 0:10 /usr/lib/systemd/systemd --switched-root --system --deroot 2 0.0 0.0 0 0 ? S 12:01 0:00 [kthreadd]root 3 0.0 0.0 0 0 ? S 12:01 0:02 [ksoftirqd/0]root 5 0.0 0.0 0 0 ? S< 12:01 0:00 [kworker/0:0H]root 7 0.0 0.0 0 0 ? S 12:01 0:00 [migration/0]root 8 0.0 0.0 0 0 ? S 12:01 0:00 [rcu_bh]root 9 0.0 0.0 0 0 ? S 12:01 0:00 [rcuob/0]root 10 0.0 0.0 0 0 ? S 12:01 0:00 [rcuob/1]
STAT说明:
R-running,运行中;
S-Sleeping,休眠中;
D-不能中断的睡眠,比如在等待硬盘I/O;
T-Stopped;
Z-僵尸进程,已结束但是没被父进程清理的子进程;
<-高优先级;
N-低优先级;
BSD风格表头说明:
USER:USERID
%CPU:占用CPU的百分比
%MEM:占用内存百分比
VSZ:虚拟内存大小
RSS:占用的物理内存大小,单位KB
START:进程启动的时间
更多功能请查看man;
● top – 实时的显示所有进程
top - 22:33:31 up 10:31, 1 user, load average: 0.00, 0.06, 0.23Tasks: 247 total, 1 running, 246 sleeping, 0 stopped, 0 zombie%Cpu(s): 0.0 us, 0.2 sy, 0.0 ni, 99.8 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 stKiB Mem: 1010884 total, 857940 used, 152944 free, 37524 buffersKiB Swap: 1048572 total, 17660 used, 1030912 free. 566064 cached Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 35743 root 20 0 123668 1744 1148 R 0.3 0.2 0:00.23 top 1 root 20 0 348060 5712 2912 S 0.0 0.6 0:10.40 systemd 2 root 20 0 0 0 0 S 0.0 0.0 0:00.01 kthreadd 3 root 20 0 0 0 0 S 0.0 0.0 0:02.11 ksoftirqd/0 5 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/0:0H 7 root rt 0 0 0 0 S 0.0 0.0 0:00.71 migration/0 8 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcu_bh 9 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/0 10 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/1
说明:
top程序名
22:33:31当前的时间
up 10:31系统启动的时间,10个半小时
load average 三个值分别对应前60S,5M,15M,值小于1说明系统不忙
Tasks(不用多说了,自己能看明白)
0.0us 用户进程占用CPU的百分比
0.2sy 系统进程占用CPU的百分比
0.0ni 低优先级进程占用cpu百分比
99.8idle cpu的99.8%是空闲的
0.0wa cpu的0.0%在等待I/O
Mem:RAM状态
Swap:Swap状态
结束一个进程Ctrl+C
暂停一个进程Ctrl+Z
可以配合bg使一个进程后台执行(bg %job号或者PID号,比如bg %1)
● jobs – 列出正在执行的任务
[root@centos7rzc ~]# jobs[1]+ Stopped top
1:job号
● bg – 后台执行一个任务
在命令后加&或者配合Ctrl+Z使用
[root@centos7rzc ~]# top &[1] 36472
1:job号
36472:PID号
● fg – 是任务前台执行
● kill – 向一个进程发送一个信号[root@centos7rzc ~]# kill -9 %1[1]+ Stopped top[root@centos7rzc ~]# jobs[1]+ Killed top
-9即 -信号9(可以在命令行输入kill -l查看)
常用的SIGNAL(信号)1 HUP Hangup
2 INT Interrupt
3 QUIT Quit
9 KILL Kill
11 SEGV Segmentation Violation
15 TERM Terminate(default信号)
18 CONT Continue
19 STOP Stop
20 TSTP Terminal Stop
28 WINCH Window Change
可以使用kill -l列出所有信号
● killall – 按名称结束进程
[root@centos7rzc ~]# top & #使top后台执行[1] 37357[root@centos7rzc ~]# top & #使top后台执行[2] 37359[1]+ Stopped top[root@centos7rzc ~]# jobs #列出所有job[1]- Stopped top[2]+ Stopped top[root@centos7rzc ~]# killall top[root@centos7rzc ~]# jobs[1]- Stopped top[2]+ Stopped top[root@centos7rzc ~]# killall -9 top #kill所有top进程[1]- Killed top[2]+ Killed top
● shutdown – 关机或重启
shutdown -r now #立即重启