【Linux】进程相关命令常见用法(ps|netstat|top|kill)
注:因为学习方向不涉及linux系统运维,因此仅记录目前学习的常见用法。
ps:显示进程信息
netstat:显示端口信息
top:动态监控进程信息
kill:杀进程
1. ps命令的使用
ps
命令是用来显示进程相关信息的,他的一个典型应用就是在后面跟e和f参数,显示系统内的所有进程。
[root@localhost /]# ps -ef
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 11:01 ? 00:00:02 /usr/lib/systemd/systemd --switched-root --system --deserialize 23
root 2 0 0 11:01 ? 00:00:00 [kthreadd]
root 3 2 0 11:01 ? 00:00:01 [ksoftirqd/0]
root 5 2 0 11:01 ? 00:00:00 [kworker/0:0H]
root 7 2 0 11:01 ? 00:00:00 [migration/0]
root 8 2 0 11:01 ? 00:00:00 [rcu_bh]
root 9 2 0 11:01 ? 00:00:00 [rcuob/0]
······
将ps
命令和grep
命令使用管道结合在一起就可以实现查找特定进程的功能,如:
[root@localhost /]# ps -ef | grep python
root 775 1 0 11:01 ? 00:00:00 /usr/bin/python -Es /usr/sbin/firewalld --nofork --nopid
root 804 1 0 11:01 ? 00:00:02 /usr/bin/python -Es /usr/sbin/tuned -l -P
root 10570 6979 0 19:52 pts/1 00:00:00 grep --color=auto python
其中root 10570 6979 0 19:52 pts/1 00:00:00 grep --color=auto python
这一行信息表示的是grep
这个命令本身。
2. netstat命令的使用
netstat
这个命令是没有安装的,使用时可以使用yum来安装,命令为:
yum install -y net-tools
netstat
的常见用法如下:
[root@localhost /]# netstat -anp
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 2470/master
tcp 0 0 127.0.0.1:6011 0.0.0.0:* LISTEN 6962/sshd: root@pts
tcp 0 0 0.0.0.0:53646 0.0.0.0:* LISTEN 1628/rpc.statd
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 1457/rpcbind
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1451/sshd
······
这里会显示很多的进程和端口信息,netstat
也需要和grep
命令结合使用可以实现查找某一端口状况的功能。如下:
[root@localhost /]# netstat -anp | grep 22
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1451/sshd
tcp 0 52 192.168.91.128:22 192.168.91.1:14888 ESTABLISHED 6962/sshd: root@pts
tcp6 0 0 :::22 :::* LISTEN 1451/sshd
3. top命令的使用
top
命令主要作用在于动态显示系统消耗资源最多的进程信息,包含进程ID、内存占用、CPU占用等和ps
命令作用基本相同,唯一的区别是top
命令能够动态显示进程信息。
[root@localhost /]# top
top - 23:16:07 up 12:15, 2 users, load average: 0.00, 0.01, 0.05
Tasks: 384 total, 2 running, 382 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.0 us, 0.3 sy, 0.0 ni, 99.7 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem: 1870760 total, 1443836 used, 426924 free, 748 buffers
KiB Swap: 2097148 total, 0 used, 2097148 free. 922564 cached Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
12974 root 20 0 0 0 0 S 0.3 0.0 0:00.11 kworker/0:1
1 root 20 0 53696 7512 2512 S 0.0 0.4 0:02.33 systemd
其中%Cpu(s): 0.0 us, 0.3 sy, 0.0 ni, 99.7 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
表示CPU使用情况;
KiB Mem: 1870760 total, 1443836 used, 426924 free, 748 buffers
表示内存使用情况。
下面是一个动态变化的表格,PID
那一行是表头,按q
可以退出此监控模式。
4. kill命令的使用
主要有两种常见用法:
kill PID
为让PID进程自己结束;
kill -9 PID
为强制结束进程。