16-Linux进程管理

进程的概念:进程是正在执行的一个程序或命令,每一个进程都是一个运行的实体,都有自己的地址空间,并占用一定的系统资源。

进程与服务:
  计算机中,一个正在执行的程序或命令,被叫做“进程”(process)。

  启动之后一只存在、常驻内存的进程,一般被称作“服务”(service)。

 

命令

ps:查看当前系统进程状态

语法:ps 【选项】

选项:

小技巧:

如果想查看进程的 CPU 占用率和内存占用率,可以使用 aux;
如果想查看进程的父进程 ID 可以使用 ef

案例:

# 案例一:ps aux 组合
[root@192 mnt]# ps aux | grep ps # 连接grep使用
USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND


# 案例二:ps -ef 组合
[root@192 mnt]# ps -ef
UID         PID   PPID  C STIME TTY          TIME CMD

ps aux 字段说明:

USER:  该进程是由哪个用户产生的
PID:  进程的 I号
%CPU:  该进程占用 CPU 资源的百分比,占用越高,进程越耗费资源:
%MEM:  该进程占用物理内存的百分比,占用越高,进程越耗费资源:VSZ:该进程占用虚拟内存的大小,单位KB:
RSS:  该进程占用实际物理内存的大小,单位KB:
TTY:  该进程是在哪个终端中运行的。对于 CentOs来说,tty1 是图形化终端,tty2-tty6 是本地的字符界面终端。pts/0-255代表虚拟终端。

STAT:  进程状态。常见的状态有:R:运行状态、S:睡眠状态、T:暂停状态、
Z:  僵尸状态、s:包含子进程、1:多线程、+:前台显示START:该进程的启动时间

TIME:  该进程占用CPU的运算时间,注意不是系统时间

COMMAND:  产生此进程的命令名

ps -ef显示各字段说明:

UID:用户ID
PID:进程 ID
PPID:父进程ID
C:CPU用于计算执行优先级的因子。数值越大,表明进程是CPU密集型运算执行优先级会降低:数值越小,表明进程是I/0密集型运算,执行优先级会提高STIME:进程启动的时间
TTY:完整的终端名称
TIME:CPU 时间
CMD:启动进程所用的命令和参数

kill:终止进程

语法:kill 【选项】 进程号

选项:-9:表示强迫进程立即停止

案例:

# 案例一:通过进程号杀死指定进程

[root@192 mnt]# kill -9 6703 #这是firefox的一个进程,强制杀死此进程

# 案例二:通过进程名杀死进程
[root@192 mnt]# killall -9 firefox # 杀死进程名包含Firefox的全部进程
[root@192 mnt]# ps -ef | grep firefox
root       6894   2353  0 04:40 pts/0    00:00:00 grep --color=auto firefox

 

 

pstree:查看进程树

说明:展示树状图

语法:pstree 【选项】

选项:

-p:显示进程的PID

-u:显示进程所属的用户

top:实时监控系统进程状态

语法:top 【选项】

选项:

  -d秒数:指定 top 命令每隔几秒更新。默认是3秒在top

  -i:使 top 不显示任何闲置或者僵死进程。

  -p:通过指定监控进程 ID 来仅仅监控某个进程的状态。

 

交互命令:

P:以CPU使用率排序,默认就是此项

M:以内存的使用率排序

N:以 PID 排序

q:退出 top

查询结果中各字段的说明:

 

 

 

 案例:

[root@192 mnt]# top -d 1 -i # 每秒刷新,并且不显示僵死的进程
top - 04:55:22 up  5:22,  2 users,  load average: 0.00, 0.01, 0.05
Tasks: 216 total,   1 running, 215 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 st
KiB Mem :  2027896 total,   362804 free,   826948 used,   838144 buff/cache
KiB Swap:  2097148 total,  2097148 free,        0 used.  1009940 avail Mem 

   PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                                                                                                                                      
  2311 root      20   0  158856   5568   4236 S   1.0  0.3   0:04.03 sshd                                                                                                                                                         
  7038 root      20   0  162236   2428   1600 R   1.0  0.1   0:00.04 top 

 

 

netstat:显示网络状态和端口占用信息

语法:netstat 【选项】

选项:

-a:显示所有正在监听(listen)和未监听的套接字(socket)

-n:拒绝显示别名,能显示数字的全部转化成数字

-l:仅列出在监听的服务状态

-p:表示显示哪个进程在调用

案例:

# 案例一:通过进程号查看sshd进程的网络信息
[root@192 mnt]# netstat -anp | grep sshd
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1054/sshd           
tcp        0      0 127.0.0.1:6010          0.0.0.0:*               LISTEN      2311/sshd: root@pts 
tcp        0      0 192.168.80.100:22       192.168.80.1:59219      ESTABLISHED 2352/sshd: root@not 
tcp        0     36 192.168.80.100:22       192.168.80.1:59209      ESTABLISHED 2311/sshd: root@pts 
tcp6       0      0 :::22                   :::*                    LISTEN      1054/sshd           
tcp6       0      0 ::1:6010                :::*                    LISTEN      2311/sshd: root@pts 
unix  2      [ ]         DGRAM                    35599    2352/sshd: root@not  
unix  3      [ ]         STREAM     CONNECTED     22242    1054/sshd            
unix  2      [ ]         DGRAM                    34420    2311/sshd: root@pts  

# 案例二:查看某端口号是否被占用
[root@192 mnt]# netstat -nltp | grep 22
tcp        0      0 192.168.122.1:53        0.0.0.0:*               LISTEN      1312/dnsmasq        
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1054/sshd           
tcp6       0      0 :::22                   :::*                    LISTEN      1054/sshd    

 

posted @ 2024-01-21 03:15  邵杠杠  阅读(5)  评论(0编辑  收藏  举报