Linux 查看进程和控制进程

    技术2022-07-12  86

    文章目录

    一、查看进程1. ps 命令——查看静态的进程统计信息2. top 命令——查看进程动态信息3. pgrep 命令——查询进程信息4. pstree 命令——查看进程树 二、控制进程1. 启动进程(1)手工启动进程(2)改变进程的运行方式(1)挂起当前的进程(2)查看后台的进程(3)将后台的进程恢复运行 3. 终止进程执行(1)使用 kill 命令终止进程(2)使用 killall 命令终止进程(3)使用 pkill 命令终止进程

    一、查看进程

    下面介绍几个常用的进程查看命令

    1. ps 命令——查看静态的进程统计信息

    ps 命令只要用于显示包含当前运行的各进程完整信息的静态快照。通过不同的命令选项,可以有选择性的查看进程信息。

    a:显示当前终端下的所有进程信息,包括其他用户的进程。u:使用以用户为主的格式输出进程信息。x:显示当前用户在所有终端下的进程信息。-e:显示系统内的所有进程信息。-l:使用长格式显示进程信息。-f:使用完整的格式显示进程信息。

    以上列出的是 ps 命令常用的几个选项,将上述选项组合在一起使用,如执行 ps aux 命令后将以简单列表的形式显示出进程,如下所示

    [root@localhost ~]# ps aux USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.3 193816 7028 ? Ss 06:55 0:01 /usr/lib/systemd/systemd --switched-root --system --deseria root 2 0.0 0.0 0 0 ? S 06:55 0:00 [kthreadd] root 3 0.0 0.0 0 0 ? S 06:55 0:00 [ksoftirqd/0] root 5 0.0 0.0 0 0 ? S< 06:55 0:00 [kworker/0:0H] root 6 0.0 0.0 0 0 ? S 06:55 0:00 [kworker/u256:0] root 7 0.0 0.0 0 0 ? S 06:55 0:00 [migration/0]

    第一行为列表标题,其中各字段的含义描述如下。

    USER:启动该进程的用户账号的名称。PID:该进程在系统中的数字 ID 号,在当前系统中是唯一的。TTY:表明该进程在哪个终端上运行。“ ? ” 表示位置或不需要终端。STAT:显示了进程当前的状态。START:启动该进程的时间。TIME:该进程占用的 CPU 时间。COMMAND:启动该进程的命令的名称。%CPU:CPU 占用的百分比。%MEM:内存占用的百分比。VSZ:占用虚拟内存的大小。RSS:占用常驻内存的大小。

    2. top 命令——查看进程动态信息

    top 命令将会在当前终端以全屏交互式的界面显示进程排名,及时跟踪包括 CPU、内存等系统资源占用情况,默认情况下每三秒刷新一次。命令格式如下:

    [root@localhost ~]# top top - 10:03:40 up 3:08, 2 users, load average: 0.02, 0.02, 0.05 Tasks: 239 total, 1 running, 238 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 : 1863252 total, 352952 free, 762252 used, 748048 buff/cache KiB Swap: 2097148 total, 2097148 free, 0 used. 834944 avail Mem

    上述信息中,显示了系统任务(tasks)、cpu 占用、内存占用(men)、交换空间(swap)等汇总信息;汇总信息下方依次显示当前进程的排名情况。

    3. pgrep 命令——查询进程信息

    pgrep 命令可以根据进程的名称、运行该进程的用户、进程所在的终端等多种属性查询特定进程的 PID 号。如下基本命令格式:

    [root@localhost ~]# pgrep "查询条件"

    4. pstree 命令——查看进程树

    pstree 命令可以输出 Linux 系统中各进程的树形结构,更加直观的判断出各进程之间的相互关系。基本命令格式如下:

    [root@localhost ~]# pstree

    二、控制进程

    1. 启动进程

    (1)手工启动进程

    由用户输入命令或者可执行程序的路径,可以至少启动一个进程。手工启动又可以分为前台启动和后台启动。 进程在前台运行时,用户必须等到该进程执行结束并退出以后才能继续输入其他命令,大多数命令操作都是在前台启动运行。 启动后台进程需要使用" & " 操作符,将 “ & ” 操作符放在要执行命令的最后面,进程启动后会直接放入后台运行,而不占用前台的命令操作界面,方便用户进行其他操作。

    (2)改变进程的运行方式

    (1)挂起当前的进程

    按Ctrl+Z 组合键可以将当前进程挂起,这种操作需要暂停当前进程并进行其他操作室特别有用。

    (2)查看后台的进程

    可以使用 jobs 命令,结合 “ l ” 选项可以同时显示出该进程对应的 pid 号。

    (3)将后台的进程恢复运行

    使用 bg 命令,可以将后台中暂停执行的任务恢复运行,继续在后台执行操作;而使用 fg 命令,可以将后台任务重新恢复到前台运行。

    3. 终止进程执行

    当用户在前台执行某个进程时,可以按 Ctrl+C 组合键强制进行中断。结束其他终端或后台运行的进程时,可以使用专用的进程终止工具 kill、killall、pkill。

    (1)使用 kill 命令终止进程

    通过 kill 命令终止进程时,需要使用进程的 PID 号作为参数。若该进程已经无法响应,则可以结合 “ -9 ”选项强行终止进程。

    (2)使用 killall 命令终止进程

    使用killall命令可以通过进程名来终止进程,killall命令同样也有 “ -9 ”选项。

    (3)使用 pkill 命令终止进程

    使用 pkill 命令可以根据进程的名称、运行该进程的用户、进程所在的终端等多种属性终止特定的进程。

    Processed: 0.011, SQL: 10