Linux进程管理


一、进程基本概念

进程就是已经启动的可执行程序的运行中实例,通俗易懂就是一个正在运行的程序,如抖音,浏览器等,每个进程都有自己的内存空间、代码和数据,在操作系统的管理下运行

进程标识符(PID):每个进程都有一个唯一的标识符,称为PID。PID是一个非负整数,用于在系统中唯一标识进程。

父进程和子进程:进程可以创建其他进程,创建它的进程称为父进程,被创建的进程称为子进程。子进程可以进一步创建自己的子进程,形成进程树。

进程状态:进程可以处于不同的状态,包括运行(Running)、就绪(Ready)、等待(Waiting)等。操作系统通过调度算法来决定哪些进程可以执行。

进程调度:操作系统通过进程调度算法来决定进程的执行顺序。这涉及到将处理器时间片分配给不同的进程,以便它们可以交替执行。

进程间通信(IPC):进程可以通过共享内存、管道、套接字等机制进行通信和数据交换。IPC允许进程之间进行数据传输、同步和互斥操作。

僵尸进程:当一个子进程完成执行,但其父进程尚未调用wait()或waitpid()来获取子进程的终止状态时,子进程会成为僵尸进程。僵尸进程占用系统资源,但不再执行任何操作。

守护进程:守护进程是在后台运行的进程,通常在系统启动时启动,并一直运行,直到系统关闭。它们通常用于执行系统任务或提供服务。

二、进程的特征

独立性:每个进程都是独立运行的实体,拥有自己的内存空间和资源。一个进程的崩溃或异常不会影响其他进程的运行。

并发性:Linux系统可以同时运行多个进程,这些进程可以并发执行。通过进程调度算法,操作系统可以在多个进程之间进行切换,实现并发执行。

动态性:进程的创建和销毁是动态的。进程可以由其他进程创建,并且进程可以在其执行期间创建其他子进程。

协作性:进程可以通过进程间通信(IPC)机制进行协作和数据交换。这使得多个进程可以共同完成复杂的任务。

隔离性:每个进程都有自己的独立内存空间,进程之间不能直接访问彼此的内存。这提供了一定程度的隔离性,保护了进程的数据和代码的安全性。

可抢占性:操作系统可以根据调度算法抢占正在执行的进程,将处理器时间片分配给其他优先级更高的进程。这种可抢占性确保了任务的及时响应性。

生命周期:进程具有从创建到终止的生命周期。进程可以通过调用fork()系统调用创建子进程,而子进程可以通过调用exit()系统调用终止自己。

三、命令介绍与使用

ps命令

ps命令的作用是显示当前系统的进程状态,它可以查看系统中正在运行的进程、进程ID、用户、CPU占用率、内存占用率等信息。

ps

[root@centos ~]# ps
  PID TTY          TIME CMD
 5323 pts/0    00:00:00 bash
 5339 pts/0    00:00:00 ps
  • PID:进程ID,表示该进程的唯一标识符。
  • TTY:终端类型,表示该进程所在的终端设备。
  • TIME:CPU时间,表示该进程占用的CPU时间。
  • CMD:命令名称,表示启动该进程的命令名称。

ps aux

显示所有用户的所有进程信息,包括进程的所有者、CPU使用率、内存使用率等。

[root@centos ~]# ps aux
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.2  43548  3772 ?        Ss   Mar25   6:15 /usr/lib/systemd/systemd --system --deserialize 20
root         2  0.0  0.0      0     0 ?        S    Mar25   0:00 [kthreadd]
root         4  0.0  0.0      0     0 ?        S<   Mar25   0:00 [kworker/0:0H]
root         5  0.0  0.0      0     0 ?        S    Mar25   0:09 [kworker/u4:0]
root         6  0.0  0.0      0     0 ?        S    Mar25   0:01 [ksoftirqd/0]
root         7  0.0  0.0      0     0 ?        S    Mar25   0:00 [migration/0]
root         8  0.0  0.0      0     0 ?        S    Mar25   0:00 [rcu_bh]
root         9  0.0  0.0      0     0 ?        S    Mar25   5:04 
  • USER:用户名称,表示启动该进程的用户。
  • PID:进程ID,表示该进程的唯一标识符。
  • %CPU:CPU占用率,表示该进程占用的CPU百分比。
  • %MEM:内存占用率,表示该进程占用的内存百分比。
  • VSZ:虚拟内存大小,表示该进程占用的虚拟内存大小。
  • RSS:物理内存大小,表示该进程占用的物理内存大小。
  • TTY:终端类型,表示该进程所在的终端设备。
  • STAT:进程状态,表示该进程的状态信息。
  • START:启动时间,表示该进程的启动时间。
  • TIME:CPU时间,表示该进程占用的CPU时间。
  • COMMAND:命令名称,表示启动该进程的命令名称。

ps -ef

以进程树的形式显示进程信息,显示进程之间的父子关系。

[root@centos ~]# ps -ef
UID        PID  PPID  C STIME TTY          TIME CMD
root         1     0  0 Mar25 ?        00:06:15 /usr/lib/systemd/systemd --system --deserialize 20
root         2     0  0 Mar25 ?        00:00:00 [kthreadd]
root         4     2  0 Mar25 ?        00:00:00 [kworker/0:0H]
root         5     2  0 Mar25 ?        00:00:09 [kworker/u4:0]
root         6     2  0 Mar25 ?        00:00:01 [ksoftirqd/0]
root         7     2  0 Mar25 ?        00:00:00 [migration/0]
root         8     2  0 Mar25 ?        00:00:00 [rcu_bh]
root         9     2  0 Mar25 ?        00:05:04 [rcu_sched]
root        10     2  0 Mar25 ?        00:00:00 [lru-add-drain]
root        11     2  0 Mar25 ?        00:00:05 [watchdog/0]
root        12     2  0 Mar25 ?        00:00:03 [watchdog/1]
root        13     2  0 Mar25 ?        00:00:00 [migration/1]
root        14     2  0 Mar25 ?        00:00:01 [ksoftirqd/1]
root        16     2  0 Mar25 ?        00:00:00 [kworker/1:0H]

ps -u

显示指定用户名的进程信息。

[root@centos ~]# ps -u root
  PID TTY          TIME CMD
    1 ?        00:06:15 systemd
    2 ?        00:00:00 kthreadd
    4 ?        00:00:00 kworker/0:0H
    5 ?        00:00:09 kworker/u4:0
    6 ?        00:00:01 ksoftirqd/0
    7 ?        00:00:00 migration/0
    8 ?        00:00:00 rcu_bh
    9 ?        00:05:04 rcu_sched
   10 ?        00:00:00 lru-add-drain

[root@centos ~]# ps -u postfix
  PID TTY          TIME CMD
  962 ?        00:00:01 qmgr
 5218 ?        00:00:00 pickup

[root@centos ~]# ps -u dbus
  PID TTY          TIME CMD
  538 ?        00:00:55 dbus-daemon

ps -p

显示指定进程ID的进程信息。

[root@centos ~]# ps -p  29788
  PID TTY          TIME CMD
29788 ?        00:02:06 assist_daemon
[root@centos ~]# ps -p  29662
  PID TTY          TIME CMD
29662 ?        00:11:29 aliyun-service

ps -eo

用于以自定义格式显示进程信息,以pid,user,%cpu为例

[root@centos ~]# ps -eo pid,user,%cpu
  PID USER     %CPU
    1 root      0.0
    2 root      0.0
    4 root      0.0
    5 root      0.0
    6 root      0.0
    7 root      0.0
    8 root      0.0
    9 root      0.0
   10 root      0.0

ps --sort

按指定的键对进程进行排序,这里以pid、%cpu以及user为例

[root@centos ~]# ps --sort=pid
  PID TTY          TIME CMD
 5323 pts/0    00:00:00 bash
 5910 pts/0    00:00:00 ps
[root@centos ~]# 
[root@centos ~]# ps --sort=user
  PID TTY          TIME CMD
 5323 pts/0    00:00:00 bash
 5935 pts/0    00:00:00 ps
[root@centos ~]# ps --sort=%cpu
  PID TTY          TIME CMD
 5323 pts/0    00:00:00 bash
 5960 pts/0    00:00:00 ps

ps -f

显示完整的进程信息,包括进程的命令行参数。

[root@centos ~]# ps -f
UID        PID  PPID  C STIME TTY          TIME CMD
root      5323  5321  0 10:06 pts/0    00:00:00 -bash
root      6035  5323  0 11:14 pts/0    00:00:00 ps -f

top

top命令是一个实时动态交互工具,用于监视系统进程的动态变化和系统的负载情况。它提供了实时的系统状态信息,包括运行的进程数、CPU使用率、内存使用情况、交换区使用情况等。

实时监控系统进程:top命令可以实时显示系统中当前运行的进程信息,包括进程ID、用户、CPU占用率、内存占用率等。

监视系统资源使用情况:top命令可以提供系统的实时资源使用情况,如CPU使用率、内存使用量、交换区使用量等。

分析系统瓶颈:通过观察top命令输出的信息,可以帮助用户分析系统的性能瓶颈,例如哪个进程占用了大量的CPU或内存资源。

实时监控进程状态变化:top命令可以实时反映进程的状态变化,例如进程是否在运行、睡眠、停止等状态。

实时调整进程优先级:通过top命令,用户可以识别出高资源的进程,并可以通过调整进程的优先级来优化系统性能。

实时查看系统负载情况:top命令可以实时显示系统的负载情况,包括平均负载、任务数、CPU使用率等。

实时查看网络连接情况:top命令还可以显示系统的网络连接情况,包括当前建立的网络连接数量、网络接收和发送的数据包数量等。

top

反馈结果是实时的

[root@centos ~]# top
top - 14:02:01 up 33 days,  1:31,  2 users,  load average: 0.00, 0.01, 0.05
Tasks:  82 total,   1 running,  81 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.2 us,  0.0 sy,  0.0 ni, 99.8 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  1798728 total,   112416 free,   155428 used,  1530884 buff/cache
KiB Swap:        0 total,        0 free,        0 used.  1455616 avail Mem 

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                                                                                               
 1356 root      10 -10  155780  25288   6320 S   0.7  1.4 391:12.34 AliYunDunMonito                                                                                                       
    1 root      20   0   43548   3772   2420 S   0.0  0.2   6:16.32 systemd                                                                                                               
    2 root      20   0       0      0      0 S   0.0  0.0   0:00.31 kthreadd                                                                                                              
    4 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 kworker/0:0H                                                                                                          
    5 root      20   0       0      0      0 S   0.0  0.0   0:09.23 kworker/u4:0                                                                                                          
    6 root      20   0       0      0      0 S   0.0  0.0   0:01.75 ksoftirqd/0                                                                                                           
    7 root      rt   0       0      0      0 S   0.0  0.0   0:00.37 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   5:06.39 rcu_sched                                                                                                             
   10 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 lru-add-drain                                                                                                         
   11 root      rt   0       0      0      0 S   0.0  0.0   0:05.19 watchdog/0                                                                                                            
   12 root      rt   0       0      0      0 S   0.0  0.0   0:03.77 watchdog/1              

top -d

以秒为单位实时刷新

[root@centos ~]# top -d 10
top - 14:05:11 up 33 days,  1:34,  2 users,  load average: 0.00, 0.01, 0.05
Tasks:  81 total,   1 running,  80 sleeping,   0 stopped,   0 zombie
top - 14:06:09 up 33 days,  1:35,  2 users,  load average: 0.00, 0.01, 0.05
Tasks:  81 total,   2 running,  79 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.1 us,  0.1 sy,  0.0 ni, 99.9 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  1798728 total,   114440 free,   153404 used,  1530884 buff/cache
KiB Swap:        0 total,        0 free,        0 used.  1457672 avail Mem 

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                                                                                               
 1356 root      10 -10  155780  25288   6320 S   0.7  1.4 391:14.42 AliYunDunMonito                                                                                                       
 1345 root      10 -10  113100   7120   5028 S   0.3  0.4  95:20.46 AliYunDun                                                                                                             
 1285 root      10 -10   62236   4396   2720 S   0.1  0.2  19:20.61 AliYunDunUpdate                                                                                                       
    1 root      20   0   43548   3772   2420 S   0.0  0.2   6:16.33 systemd                                                                                                               
    2 root      20   0       0      0      0 S   0.0  0.0   0:00.31 kthreadd                                                                                                              
    4 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 kworker/0:0H                                                                                                          
    5 root      20   0       0      0      0 S   0.0  0.0   0:09.23 kworker/u4:0                                                                                                          
    6 root      20   0       0      0      0 S   0.0  0.0   0:01.75 ksoftirqd/0                                                                                                           
    7 root      rt   0       0      0      0 S   0.0  0.0   0:00.37 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   5:06.44 rcu_sched            

top -n

top -n命令用于指定top命令执行的次数。

[root@centos ~]# top -n 3
top - 14:05:11 up 33 days,  1:34,  2 users,  load average: 0.00, 0.01, 0.05
Tasks:  81 total,   1 running,  80 sleeping,   0 stopped,   0 zombie
top - 14:09:00 up 33 days,  1:38,  2 users,  load average: 0.00, 0.01, 0.05
Tasks:  81 total,   1 running,  80 sleeping,   0 stopped,   0 zombie
top - 14:09:18 up 33 days,  1:38,  2 users,  load average: 0.00, 0.01, 0.05
Tasks:  81 total,   1 running,  80 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.2 us,  0.2 sy,  0.0 ni, 99.7 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  1798728 total,   114236 free,   153508 used,  1530984 buff/cache
KiB Swap:        0 total,        0 free,        0 used.  1457568 avail Mem 

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                                                                                               
 1356 root      10 -10  155780  25288   6320 S   0.7  1.4 391:16.00 AliYunDunMonito                                                                                                       
    1 root      20   0   43548   3772   2420 S   0.0  0.2   6:16.34 systemd                                                                                                               
    2 root      20   0       0      0      0 S   0.0  0.0   0:00.31 kthreadd                                                                                                              
    4 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 kworker/0:0H                                                                                                          
    5 root      20   0       0      0      0 S   0.0  0.0   0:09.24 kworker/u4:0                                                                                                          
    6 root      20   0       0      0      0 S   0.0  0.0   0:01.75 ksoftirqd/0                                                                                                           
    7 root      rt   0       0      0      0 S   0.0  0.0   0:00.37 migration/0                                                                                                           
    8 root      20   0       0      0      0 S   0.0  0.0   0:00.00 rcu_bh                         

top -b

top -b命令以非交互方式运行top,并输出一次结果后立即退出。

[root@centos ~]# top -b
top - 14:10:48 up 33 days,  1:40,  2 users,  load average: 0.00, 0.01, 0.05
Tasks:  81 total,   2 running,  79 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.2 us,  0.0 sy,  0.0 ni, 99.8 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  1798728 total,   114376 free,   153344 used,  1531008 buff/cache
KiB Swap:        0 total,        0 free,        0 used.  1457732 avail Mem 

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
 1356 root      10 -10  155780  25288   6320 S   1.0  1.4 391:16.77 AliYunDunMonito
 1345 root      10 -10  113100   7120   5028 S   0.3  0.4  95:21.04 AliYunDun
29662 root      20   0  689660  10460   6952 S   0.3  0.6  11:39.54 aliyun-service
    1 root      20   0   43548   3772   2420 S   0.0  0.2   6:16.35 systemd
    2 root      20   0       0      0      0 S   0.0  0.0   0:00.31 kthreadd

以非交互方式运行top命令,并将输出结果重定向到名为top_output.txt的文件中。

[root@centos ~]# top -b > top.txt
[root@centos ~]# cat top.txt
top - 14:12:54 up 33 days,  1:42,  2 users,  load average: 0.00, 0.01, 0.05
Tasks:  81 total,   1 running,  80 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  1798728 total,   113800 free,   153796 used,  1531132 buff/cache
KiB Swap:        0 total,        0 free,        0 used.  1457252 avail Mem 

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
 1356 root      10 -10  155780  25288   6320 S   1.0  1.4 391:17.93 AliYunDunMonito
 1345 root      10 -10  113100   7120   5028 S   0.3  0.4  95:21.31 AliYunDun
29662 root      20   0  689660  10428   6952 S   0.3  0.6  11:39.64 aliyun-service
    1 root      20   0   43548   3772   2420 S   0.0  0.2   6:16.39 systemd
    2 root      20   0       0      0      0 S   0.0  0.0   0:00.31 kthreadd
    4 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 kworker/0:0H
    5 root      20   0       0      0      0 S   0.0  0.0   0:09.24 kworker/u4:0

top -i

忽略闲置和僵死的进程,只显示活跃进程。

[root@centos ~]# top -i
top - 14:14:52 up 33 days,  1:44,  2 users,  load average: 0.12, 0.11, 0.08
Tasks:  81 total,   1 running,  80 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.2 us,  0.0 sy,  0.0 ni, 99.8 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  1798728 total,   113748 free,   153740 used,  1531240 buff/cache
KiB Swap:        0 total,        0 free,        0 used.  1457336 avail Mem 

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                                                                                               
 1356 root      10 -10  155780  25288   6320 S   1.0  1.4 391:19.00 AliYunDunMonito                                                                                                       
27099 root      20   0  288280   6164   5280 S   0.3  0.3   0:30.17 rsyslogd            

top -u

只显示指定用户名的进程。

[root@centos ~]# top -u root
top - 14:15:49 up 33 days,  1:45,  2 users,  load average: 0.04, 0.09, 0.08
Tasks:  81 total,   1 running,  80 sleeping,   0 stopped,   0 zombie
top - 14:16:01 up 33 days,  1:45,  2 users,  load average: 0.04, 0.09, 0.08
Tasks:  81 total,   1 running,  80 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.2 us,  0.2 sy,  0.0 ni, 99.7 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  1798728 total,   113836 free,   153716 used,  1531176 buff/cache
KiB Swap:        0 total,        0 free,        0 used.  1457360 avail Mem 

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                                                                                               
 1356 root      10 -10  155780  25288   6320 S   1.0  1.4 391:19.60 AliYunDunMonito                                                                                                       
 1345 root      10 -10  113100   7120   5028 S   0.3  0.4  95:21.70 AliYunDun                                                                                                             
    1 root      20   0   43548   3772   2420 S   0.0  0.2   6:16.42 systemd                                                                                                               
    2 root      20   0       0      0      0 S   0.0  0.0   0:00.31 kthreadd            

top -p

只显示指定进程ID的进程。

[root@centos ~]# top -p 1
top - 14:17:09 up 33 days,  1:46,  2 users,  load average: 0.01, 0.07, 0.07
Tasks:   1 total,   0 running,   1 sleeping,   0 stopped,   0 zombie
%Cpu(s):  3.6 us,  0.0 sy,  0.0 ni, 96.4 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  1798728 total,   112732 free,   154732 used,  1531264 buff/cache
KiB Swap:        0 total,        0 free,        0 used.  1456344 avail Mem 

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                                                                                               
    1 root      20   0   43548   3772   2420 S   0.0  0.2   6:16.43 systemd          

top -H

以线程的形式显示进程信息。

  PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND                                                                                                                
 1396 root      10 -10  155780  25288   6320 S  0.7  1.4 219:17.86 AliYunDunMonito                                                                                                        
 1288 root      10 -10   62236   4396   2720 S  0.3  0.2   2:30.17 AliYunDunUpdate                                                                                                        
 1349 root      10 -10  113100   7120   5028 S  0.3  0.4  25:59.89 AliYunDun                                                                                                              
 6661 root      20   0  162128   2320   1600 R  0.3  0.1   0:00.02 top                                                                                                                    
    1 root      20   0   43548   3772   2420 S  0.0  0.2   4:25.73 systemd                                                                                                                
    2 root      20   0       0      0      0 S  0.0  0.0   0:00.31 kthreadd                                                                                                               
    4 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 kworker/0:0H                                                                                                           
    5 root      20   0       0      0      0 S  0.0  0.0   0:09.24 kworker/u4:0            
  • PID: 进程ID(Process ID),用于唯一标识一个进程。
  • USER: 进程所有者的用户名。
  • PR: 优先级(Priority),表示进程的调度优先级。较低的值表示较高的优先级。
  • NI: 谦让度(Niceness),用于调整进程的优先级。负值表示较高的优先级。
  • VIRT: 虚拟内存使用量(Virtual Memory Size),以KB为单位。
  • RES: 物理内存使用量(Resident Size),以KB为单位。
  • SHR: 共享内存使用量(Shared Memory Size),以KB为单位。
  • S: 进程状态。常见的状态有R(运行)、S(休眠)、Z(僵尸)等。
  • %CPU: CPU占用率,表示该进程占用的CPU时间百分比。
  • %MEM: 内存占用率,表示该进程占用的物理内存百分比。
  • TIME+: 进程累计使用的CPU时间,格式为“天:小时:分钟:秒”。
  • COMMAND: 进程的命令行名称,即启动该进程的命令。

pgrep

pgrep命令会在运行中的进程列表中搜索与给定模式匹配的进程,并返回匹配进程的进程ID(PID)。这个模式可以是一个进程名称、进程名称的一部分、或者是一个正则表达式。

pgrep命令的主要作用是方便地查找特定进程的PID,以便进行进一步的操作,比如发送信号、终止进程等。

pgrep

根据进程名称查找进程ID

[root@centos /]# pgrep systemd 
1
363
536
4878

pgrep -u

根据用户名查找进程ID

[root@centos /]# pgrep -u root
1
2
4
5
6
7
8

pgrep -x

根据精确的进程名称查找进程ID

[root@centos /]# pgrep -x migration/0        
7

pgrep -f

根据完整的命令行参数查找进程ID

因为没有运行,所以没有进程号,并没有报错

[root@centos /]# pgrep -x "pgrep -x"
[root@centos /]# 

pgrep -n

仅返回最早运行的进程的PID

[root@centos /]# pgrep -n systemd
4878

pgrep -d

以指定的定界符分隔多个PID

[root@centos /]# pgrep -d "," systemd
1,363,536,4878

pkill

pkill命令会根据给定的进程名称或模式,向匹配的进程发送指定的信号。这个信号可以是用来终止进程的信号(如SIGTERM),也可以是其他信号(如SIGHUP)。

pkill命令的主要作用是方便地终止或重启特定的进程,而不需要手动查找进程ID(PID)并发送信号。它可以根据进程名称、进程名称的一部分、或者是一个正则表达式来匹配进程。

pkill

根据进程名称终止进程

[root@centos /]# pkill systemd

pkill -u

根据用户名终止进程

[root@centos /]# pkill postfix

pkill -x

根据精确的进程名称终止进程

[root@centos /]# pkill -x systemd

pkill -f

根据完整的命令行参数终止进程

[root@centos /]# pkill -f pkill -f

pkill -n

仅终止最早运行的进程

[root@centos /]# pkill -n systemd

kill

kill命令可以根据进程ID(PID)向特定的进程发送指定的信号。这个信号可以是用来终止进程的信号(如SIGTERM或SIGKILL),也可以是其他信号(如SIGHUP)。

kill命令的主要作用是控制和管理系统中运行的进程。它可以用来终止不再需要的进程、强制结束无响应的进程、或者向进程发送其他信号来实现特定的操作(如重新加载配置文件)。

kill

根据进程ID(PID)终止进程。将要终止的进程的PID作为参数传递给kill命令即可

[root@centos /]# kill 1

kill -SIGTERM

请求进程正常终止

[root@centos /]# kill -sigterm 2

kill -SIGKILL

强制终止进程

[root@centos ~]# kill -sigkill 4

kill -SIGHUP

终止进程并重新启动

[root@centos ~]# kill -sighup 5

kill -SIGINT

发送中断信号,通常由按下Ctrl+C触发。

[root@centos ~]# kill -sigint 5
  • 23
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

十一的学习笔记

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值