【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为强制结束进程。

posted @ 2023-01-13 23:28  ccql  阅读(19)  评论(0编辑  收藏  举报  来源