红联Linux门户
Linux帮助

Linux中如何查看进程和控制进程

发布时间:2019-05-23 00:00:00来源:未知作者:admin

Linux查看进程的命令如下:
ps命令——查看静态的进程统计信息(一般结合选项使用 ps aux 或 ps -elf 命令)
建议使用 ps -elf 查询,输出的信息更详细些,包括 PPID (对应的父进程 的PID 号)

以上输出信息中,第一行为列表标题,其中各字段的含义描述如下。

USER:启动该进程的用户账号名称;

PID:该进程在系统中的数字 ID 号,在当前系统中是唯一的;

%CPU:CPU占用的百分比;

%MEM:内存占用的百分比;

VSZ:占用虚拟内存(swap 空间)的大小;

RSS:占用常驻内存(物理内存)的大小;

TTY:表明该进程在哪个终端上运行。“ ?” 表示未知或不需要终端;

STAT:显示进程当前的状态,S(休眠)、R(运行)、Z(僵死)、<(高优先级)、N(低优先级)、s(父进程)、+(前台进程);

START:启动该进程的时间;

TIME:该进程占用的CPU时间;

COMMAND:启动该进程的命令的名称;

top 命令——查看进程动态信息(以全屏交互式的界面显示进程排名,及时跟踪系统资源占用情况)

上述输出信息中,开头的部分显示了系统任务、CPU占用、内存占用等信息,相关信息的含义如下:

系统任务(Task)信息 :total ,总进程数; running,正在运行的进程数;sleeping,休眠的进程数;stopped,中止的进程数;zombie,僵死无响应的进程数。

CPU占用信息:us,用户占用;sy,内核占用;ni,优先级调度占用;id,空闲CPU;wa,I/O等待占用;hi,硬件终端占用;si,软件中断占用;st,虚拟化占用。要了解空闲的CPU百分比,主要看 %id 部分。

内存占用(MEM)信息:total,总内存空间;free,空闲内存;used,已用内存;buff / cache,物理内存和交换内存的缓冲区总和。

交换空间(swap) 占用:total,总交换空间;free,空闲交换空间;used,已用交换空间;avail Mem,可用物理空间。

pgrep命令——查询进程信息(可以指定进程的一部分名称进行查询,通常结合 “ - l ” 选项)

pstree命令——查看进程树(该命令查询的信息比较复杂,而且之前的命令完全满足我们查询进程信息的需要,所以就略过,通常使用 pstree -aup 或 pstree {用户名} 来使用)

控制进程的相关命令:

执行等待时间较长的进程时,可以在执行命令的最后面加操作符 “&”,进程启动后会直接放入后台运行

Ctrl+z,可以将当前执行的任务调入后台并暂停执行
jobs  -l   查看当前终端中在后台运行的进程任务,并显示该进程的PID号。

可以使用fg 任务编号(将暂停的进程重新调到前台运行)或 bg 任务编号(将后台暂停执行的任务恢复运行)

终止进程执行

使用 kill 命令终止进程的命令格式: kill PID号 如果无法响应终止信号,可以结合 -9 选项: kill -9 PID号(-9表示强制终止进程,但强制终止会导致程序运行的部分数据丢失,应谨慎使用)

使用 killall 命令终止进程的命令格式:killall 进程名(如 “killall vim”,也可以结合 -9 选项,强制终止,选项格式与kill命令格式一致)

使用 pkill 命令终止进程:可以根据进程的名称,运行该进程的用户,进程所在的终端等多种属性终止特定的进程命令格式与pgrep格式大致相同,也可以加 -9 选项,如:
pkill -9 -U “用户名” -t 指定终端