linux查看进程
进程是在CPU及内存中运转的程序代码,而每个进程能够创建一个或多个进程(父子进程)。
检查进程办法
第一种:
psaux
ps指令用于陈述当时体系的进程状况。能够搭配kill指令随时中断、删去不必要的程序。ps指令是最基本同时也是十分强大的进程检查指令,运用该指令能够确认有哪些进程正在运转和运转的状况、进程是否结束、进程有没有僵死、哪些进程占用了过多的资源等等,总归大部分信息都是能够经过履行该指令得到的。
a:显现当时终端下的一切进程信息,包括其他用户的进程。
u:运用以用户为主的格局输出进程信息。
x:显现当时用户在一切终端下的进程。
示例:
上图中各字段解说:
USER:发动该进程的用户账号称号PID:该进程的ID号,在当时体系中是仅有的%CPU:CPU占用的百分比%MEM:内存占用的百分比
VSZ:占用虚拟内存(swap空间)的大小RSS:占用常驻内存(物理内存)的大小
TTY:该进程在哪个终端上运转。“?”表不知道或不需要终端STAT:显现了进程当时的状况,如S(休眠)、R(运转)、Z(僵死)、<(高优先级)、N(低优先级)、s(父进程)、+(前台进程)。对处于僵死状况的进程应予以手动停止。
START:发动该进程的时刻TIME:该进程占用CPU时刻COMMAND:发动该进程的指令的称号
总结:psaux是以简略列表的方式显现出进程信息。
第二种:
ps-elf
-e:显现体系内的一切进程信息。
-l:运用长(long)格局显现进程信息。
-f:运用完整的(full)格局显现进程信息。
上图字段解说:大部分跟第一种一样,PPID为父进程的PID。
第三种:
以全屏交互式的界面显现进程排名,及时跟踪包括CPU、内存等体系资源占用状况,默许状况下每三秒改写一次,其作用基本相似于Windows体系中的任务管理器。
上图解说:
Tasks(体系任务)信息:total,总进程数;running,正在运转的进程数;sleeping,休眠的进程数;stopped,中止的进程数;zombie,僵死无响应的进程数。
CPU信息:us,用户占用;sy,内核占用;ni,优先级调度占用;id,闲暇CPU;wa,I/O等待占用;hi,硬件中断占用;si,软件中断占用;st,虚拟化占用。了解闲暇的CPU百分比,主要看%id部分。
Mem(内存)信息:total,总内存空间;used,已用内存;free,闲暇内存;buffers,缓存区域。
Swap(交流空间)信息:total,总交流空间;used,已用交流空间;free,闲暇交流空间;cached,缓存空间。
第四种:
pstree-aup
以树状图的方式展示进程之间的派生关系,显现作用比较直观。-a:显现每个程序的完整指令,包括路径,参数或是常驻服务的标明;-c:不运用精简标明法;-G:运用VT100终端机的列绘图字符;-h:列出树状图时,特别标明现在履行的程序;-H<程序识别码>:此参数的作用和指定”-h”参数相似,但特别标明指定的程序;-l:选用长列格局显现树状图;-n:用程序识别码排序。预设是以程序称号来排序;-p:显现程序识别码;-u:显现用户称号;
linux停止进程的命令
作为Linux系统管理员,许多时分会遇到Linux进程无呼应或耗费太多资源,则可能需求中止它。大多数进程都有自己的封闭方法。不幸的是,进程可能会呈现毛病,不允许自己封闭。假如正在运转的后台进程无呼应,则需求运用指令将其中止。
在Linux中能够杀死哪些进程?
在中止或杀掉进程之前,首先得考虑权限。root用户能够中止一切进程。或者在不是root用户登录的情况下经过在指令之前添加sudo以将其作为root运转,也能够运用su获取根shell,然后履行该指令。
中止进程会向给定进程发送中止消息。有多种类型的中止消息,包含:
SIGKILL–SIGKILL是杀死过程的终极方法。它总是会杀死一个进程,并且会忽然杀死该进程,从而产生丧命错误。SIGKILL应该总是有用的。假如它不起作用,则操作系统已呈现毛病。
SIGTERM–SIGTERM企图中止进程,但与SIGKILL不同的是,它可能会被阻挠或以其他方法处理。能够将其视为测验中止进程的更优雅的方法。
关于大多数意图,SIGKILL将是中止该过程的最快,最有用的方法。
1,检查运转的进程
top指令是全面了解当时正在运转的进程的最简单方法。要检查当时正在运转的一切进程的列表,请运用以下指令:
[root@sharplee~]#top
上面能够检查当时运转靠前的进程,假如想杀掉某个进程,直接在当时检查下按住K键,输入进程号,回车即可即可杀掉进程。接着退出按q键。
2,定位要中止进程
在杀死进程之前,能够经过许多种方法来定位进程。有多种方法能够在Linux中查找进程。进程能够经过进程称号(或部分进程称号)或进程ID(也称为“pid”)进行定位。
(1),经过ps指令来定位进程。
ps指令显示与top相似的信息,但它不会以接口的形式显示。相反,ps指令供给了正在运转的进程的完好列表,并依据选项来进行格式化。
[root@sharplee~]#ps-aux
(2),发现进程id经过pgrep或者pidof指令
Linux指令pgrep是查找进程的一种更复杂的方法。此指令将回来依据特定挑选条件(称为模式)的进程。该模式是一个正则表达式,例如a*,其间*将是通配符。例如查找docker进程。
[root@sharplee~]#pgrepdocker
以下是pgrep指令的一些运用选项:
-l.列出进程称号和PID。
-n.回来最新的进程。
-o.回来最旧的进程。
-u.仅查找归于特定用户的进程。
-x.仅查找与给定模式彻底匹配的进程。
指令pgrep-uroot显示root具有的一切进程。指令pgrep-u根’a*’回来root具有的以字母“a”开头的进程。
pidof指令用于查找进程的ID,前提是您知道进程的称号。
[root@sharplee~]#pidofdocker
pidof能够运用以下选项:
-c.仅回来单个根目录中的PID。
-o.省掉某些PID(包含在标志后要省掉的进程)。
-s.仅回来单个PID。
-x.还回来正在运转脚本的shell的PID。
3,经过kill指令中止进程
在Linux中,有几种不同的中止进程的方法,详细取决于您是否知道正在运转的进程的称号、进程的pid,或者知道进程运转了多长时刻。
killall指令:killall指令用于按称号中止进程。默许情况下,它将发送SIGTERM信号。killall指令能够运用单个指令中止多个进程。假如提示notfound,履行yuminstallpsmisc。
[root@sharplee~]#killallnginx
killall有以下选项能够运用:
-e.查找进程称号的彻底匹配项。
-I.测验查找进程称号时疏忽大小写。
-一.在中止进程时要求其他确认。
-u.仅中止特定用户具有的进程。
-v.陈述进程是否已成功中止。
除了依据称号中止进程外,killall指令还能够运用依据进程的期限进行中止,运用以下指令:
-o.运用此具有持续时刻的标志能够中止运转时刻超越该时刻量的一切进程。
-y.运用此具有持续时刻的标志能够中止运转时刻少于该时刻量的一切进程。
killall-o15m指令将中止一切早于15分钟的进程,而killall-y15m指令将中止一切小于15分钟的进程.
pkill指令:pkill指令相似于pgrep指令,由于它除了其他限定要素外,还会依据进程称号中止进程。默许情况下,pkill将发送SIGTERM信号。
[root@sharplee~]#pkillnginx
pkill指令的选项包含:
-n.仅中止发现的最新进程。
-o.仅杀死发现的最陈旧的进程。
-u.仅中止所选用户具有的进程。
-x.仅中止与模式彻底匹配的进程。
-signal.向进程发送特定信号,而不是SIGTERM。
kill指令:kill指令将运用给定的进程ID一次中止一个进程。它将向进程发送一个SIGTERM信号,指示要中止。它等待程序运转其关机例程。-signal指令可用于指定不是SIGTERM的信号.
[root@sharplee~]#kill6677
kill-9名令:kill-9是一个有用的指令,当你需求封闭一个无呼应的服务。以相似于常规kill指令的方法运转它。
[root@sharplee~]#kill-96864
kill-9指令向服务发送SIGKILL信号,指示立即封闭。无呼应的程序将疏忽kill指令,但每逢发出kill-9指令时,它将封闭。请谨慎运用此指令。它绕过标准关机例程,因而任何未保存的数据都将丢失。
假如SIGKILL信号未封闭服务,则操作系统将无法正常运转。
总结:当无法以任何其他方法封闭进程时,能够经过指令行手动中止该进程。要在Linux中中止进程,必须首先找到该进程。能够运用top、ps、pidof或pgrep指令来查找。一旦找到了想要中止的进程,能够用killall,pkill,kill,top指令杀死它。杀死进程时,能够发送SIGHUP、SIGKILL或SIGTERM的中止信号。需求具有中止进程的权限,这能够经过运用sudo指令获得。
评论前必须登录!
注册