查看所有进程
#查看系统中所有进程,使用BSD操作系统格式
ps aux
--
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.1 190900 2576 ? Ss Jun29 0:32 /usr/lib/systemd/systemd --swroot 2 0.0 0.0 0 0 ? S Jun29 0:00 [kthreadd]
root 3 0.0 0.0 0 0 ? S Jun29 0:02 [ksoftirqd/0]
root 5 0.0 0.0 0 0 ? S< Jun29 0:00 [kworker/0:0H]
root 7 0.0 0.0 0 0 ? S Jun29 0:00 [migration/0]
#查看系统中所有进程,使用LINUX标准命令格式
ps -le
选项
-a 显示一个终端的所有进程,除了会话引线
-u 显示进程的归属用户及内存的使用情况
-x 稀释没有控制终端的进程
-l 长格式显示。显示更加详细的信息
-e 显示所有进程,和-A的作用一致
参数
USER -> 进程所属用户
PID -> 进程号( 越小说明启动得越早,1是第一个启动得进程 /sbin/init
%CPU -> 进程CPU的占有率
%MEM -> 进程内存的占有率
VSZ -> 该进程占用虚拟内存的大小,单位KB
RSS -> 该进程占用实际物理内存的大小,单位KB
TTY -> 该进程是在哪个终端中进行的。其中tty1-tty7代表本地控制台终端,tty1-tty6是本地的字符界面终端,tty7是图形终端。pts/0-255代表虚拟终端
如果是?,说明是系统启动的进程
STAT -> 进程状态
R 运行,S 睡眠,T 停止状态, s 包含子进程 ,+ 位于后台
START 该进程启动的时间
TIME 该进程占用CPU的运算时间,不是系统时间
COMMAND 产生此进程的命令名
pstree命令
#pstree
systemd─┬─AliYunDun───18*[{AliYunDun}]
├─AliYunDunUpdate───3*[{AliYunDunUpdate}]
├─PM2 v3.2.2: God─┬─node /home/site───5*[{node /home/site}]
│ ├─2*[node /home/site───9*[{node /home/site}]]
│ └─9*[{PM2 v3.2.2: God}]
├─agetty
├─aliyun-service───5*[{aliyun-service}]
├─atd
├─auditd───{auditd}
├─crond
├─dbus-daemon
├─mongod───19*[{mongod}]
├─nginx───2*[nginx]
├─ntpd
├─php-fpm───35*[php-fpm]
├─polkitd───5*[{polkitd}]
├─rsyslogd───2*[{rsyslogd}]
├─sshd───sshd───bash───pstree
├─systemd-journal
├─systemd-logind
├─systemd-udevd
├─tuned───4*[{tuned}]
└─vsftpd
top
top [ -d -b -n ]
------------------
选项
-d 秒数:指定top命令每隔几秒更新。默认是3秒
-b 使用批处理模式输出。一般和“ -n ”选项合用
-n 次数: 指定top命令执行的次数。一般和“-b”选项合用
-------------------
在top命令的交互模式当中可以执行的命令
P : 以CPU使用率排序,默认就是此项
M : 以内存的使用率进行排序
N : 以PID进行排序
q : 退出top
--------------------
top - 14:31:44 up 12 days, 27 min, 1 user, load average: 0.15, 0.15, 0.14
Tasks: 105 total, 2 running, 103 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.7 us, 0.0 sy, 0.0 ni, 99.3 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 1883496 total, 680228 free, 973964 used, 229304 buff/cache
KiB Swap: 0 total, 0 free, 0 used. 747656 avail Mem
1 root 20 0 190900 2580 1264 S 0.0 0.1 0:32.90 systemd
1723 mongodb 20 0 1022064 33072 0 R 0.3 1.8 38:43.05 mongod
2365 root 20 0 951328 70536 3428 S 0.3 3.7 8:48.34 node /home/site
2383 root 20 0 1264828 86848 4216 S 0.3 4.6 11:13.50 node /home/site
10232 root 0 -20 131168 7780 1748 S 0.3 0.4 7:37.60 AliYunDun
1 root 20 0 190900 2580 1264 S 0.0 0.1 0:32.90 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd
3 root 20 0 0 0 0 S 0.0 0.0 0:02.38 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.00 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:56.75 rcu_sched
10 root rt 0 0 0 0 S 0.0 0.0 0:03.79 watchdog/0
12 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kdevtmpfs
13 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 netns
14 root 20 0 0 0 0 S 0.0 0.0 0:00.25 khungtaskd
15 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 writeback
16 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kintegrityd
17 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 bioset
18 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kblockd
19 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 md
25 root 20 0 0 0 0 S 0.0 0.0 0:08.78 kswapd0
26 root 25 5 0 0 0 S 0.0 0.0 0:00.00 ksmd
27 root 39 19 0 0 0 S 0.0 0.0 0:03.01 khugepaged
28 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 crypto
36 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kthrotld
38 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kmpath_rdacd
39 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kpsmoused
40 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 ipv6_addrconf
59 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 deferwq
杀死进程
杀死单个进程
kill [ -options -signal ] pid
杀死所有同类进程
killall [ -option -signal ] pid
---------------------------
-t 按照终端号踢出用户
---------------------------
信号
kill -l
->
1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP
6) SIGABRT 7) SIGBUS 8) SIGFPE 9) SIGKILL 10) SIGUSR1
11) SIGSEGV 12) SIGUSR2 13) SIGPIPE 14) SIGALRM 15) SIGTERM
16) SIGSTKFLT 17) SIGCHLD 18) SIGCONT 19) SIGSTOP 20) SIGTSTP
21) SIGTTIN 22) SIGTTOU 23) SIGURG 24) SIGXCPU 25) SIGXFSZ
26) SIGVTALRM 27) SIGPROF 28) SIGWINCH 29) SIGIO 30) SIGPWR
31) SIGSYS 34) SIGRTMIN 35) SIGRTMIN+1 36) SIGRTMIN+2 37) SIGRTMIN+3
38) SIGRTMIN+4 39) SIGRTMIN+5 40) SIGRTMIN+6 41) SIGRTMIN+7 42) SIGRTMIN+8
43) SIGRTMIN+9 44) SIGRTMIN+10 45) SIGRTMIN+11 46) SIGRTMIN+12 47) SIGRTMIN+13
48) SIGRTMIN+14 49) SIGRTMIN+15 50) SIGRTMAX-14 51) SIGRTMAX-13 52) SIGRTMAX-12
53) SIGRTMAX-11 54) SIGRTMAX-10 55) SIGRTMAX-9 56) SIGRTMAX-8 57) SIGRTMAX-7
58) SIGRTMAX-6 59) SIGRTMAX-5 60) SIGRTMAX-4 61) SIGRTMAX-3 62) SIGRTMAX-2
63) SIGRTMAX-1 64) SIGRTMAX
->
1 SIGNUP 该信号让进程立即关闭,然后重新读取配置文件后重启(平滑重启)
kill [ -1 -HUP ] pid 重启应用但是不踢出已经登录的用户->
->
9 SIGKILL 用来立即结束程序的运行,本信号不能被阻塞,处理和武略。一般用于强制终止进程
kill [ -9 ] pid
killall pkill
#杀死所有和进程名字相关的进程
killall -9 httpd
-i 交互式询问是否要杀死进程
-I 忽略进程名的大小写
pkill -9 [-t] https ( -signal和-options不能互换顺序)
-t 根据终端号来踢出用户
#显示当前在线用户
w
--------------------------
15:20:31 up 12 days, 1:15, 1 user, load average: 0.05, 0.03, 0.05
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 116.239.24.142 14:26 7.00s 0.01s 0.00s w
#强制踢出从pts/0终端进来的用户
pkill -9 -t pts/0
进程优先级
linux操作系统是一个多用户,多任务的操作系统,Linux系统中通知运行着非常多的进程。但是CPU在同一时钟周期内只能运算一个指令。进程优先级决定了每个进程处理的先后顺序
- PRI代表priority ,NI代表nice。这两个值都是优先级,数字越小代表优先级越高
- NI的值的范围是-20到19
- 普通用户调整NI的值的范围是0-19,而且只能调整自己的进程
- 普通用户只能调高NI值,而不能降低,如原本NI的值为0,则只能调整大于0
- root用户才能设定进程NI为负值,而且可以调整任何用户的进程
- PRI(最终值)= PRI(原始值) + NI
- 用户只能修改 NI 的值,不能直接修改 PRI
ps -le
----------------------
F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD
4 S 0 1 0 0 80 0 - 47725 ep_pol ? 00:00:33 systemd
1 S 0 2 0 0 80 0 - 0 kthrea ? 00:00:00 kthreadd
1 S 0 3 2 0 80 0 - 0 smpboo ? 00:00:02 ksoftirqd/0
1 S 0 5 2 0 60 -20 - 0 worker ? 00:00:00 kworker/0:0H
1 S 0 7 2 0 -40 - - 0 smpboo ? 00:00:00 migration/0
renice [优先级] PID
renice -10 2125
网友评论