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 指定终端