①.、首先,连接相应linux主机,进入到linux命令行状态下,等待输入shell指令.
①.、首先打开xshell软件,连接上linux服务器,使用指令ps查看系统进程,参数a表示全部,u表示以用户格式显示,x表示进程参数.
首先我们需要打开终端,本经验以Fedora操作系统为例,其他的操作系统可能略有不同.打开终端之后我们输入ps,它就是我们今天的主角,ps是linux操作系统中最基本同时也是非常强大的进程查看命令,如果你对此命令不是十分了解,我们可以输入ps --help命令来查看此命令的帮助信息.
如何查看linux进程
通过帮助信息我们可以看到,ps命令的相关参数有很多,很多初学的朋友可能会看的一头雾水,不知道该怎么组合这些参数,下面小编就举一些实际应用例子,来介绍一些比较常用的查看进程的固定命令组合.
我们先来看第一个命令,ps -l命令.这个命令和直接使用ps效果类似,但是不同之处在于使用ps命令获得结果很短,而使用-l参数之后将会较长、较详细的列出该PID的的信息列出,由于参数较多,小编就不一一介绍各个参数的含义了,如果想要了解参数的具体含义可以上网查看相关信息.
接着我们来看第二个命令ps aux,有"-"符号和没有两者是有区别的,这个命令应该是比较常用的一个命令,作用就是列出目前所有的正在内存当中的程序,其中a表示显示现行终端机下的所有程序,包括其他用户的程序,u表示以用户为主的格式来显示程序状况,x表示显示所有程序,不以终端机来区分,它的相关参数也不少,例如user,表示属于那个使用者账号的,%CPU表示使用掉的CPU资源百分比,其他的参数小编就不一一的介绍了,有兴趣可以自行查看.
第三个要介绍的命令就是ps -lA命令,跟ps -l命令输出的格式一样,唯一不同的是多了一个A参数,A的作用就是显示出所有进程,所以呢使用此命令之后输出的结果会非常的多,如果非必要不建议使用此命令.
第四个命令就是ps ajxf,其中a和x表示的意义已经介绍过了,下面我们看下j的意义,j表示采用工作控制的格式显示程序状况,f则表示用ASCII字符显示树状结构,表达程序间的相互关系,输出的结果类似程序树显示.
方法一: Terminal终端输入: gnome-system-monitor,就可以打开system monitor
如图:
然后找到相应进程,右击选择kill process就可以了
方法二: 通过kill 进程id的方式可以实现,
首先需要知道进程id, 例如,想要杀死firefox的进程,通过 ps -ef|grep firefox,可以查到firefox的进程id:
kill -STOP [pid]
kill -CONT [pid]
kill -KILL [pid]
终止你拥有的全部进程.
方法三: killall 通过程序的名字,来杀死进程
例如: killall firefox
方法四: pkill 通过程序的名字, 直接杀死所有进程
例如: pkill firefox
方法五: 通过xkill 可以杀死图形程序应用, 例如firefox崩溃无响应,可以使用该命令.
例如: 用法xkill , 会出现一个白色的x, 然后用鼠标单击想要杀死的应用,如图
以下内容引用自:
◆编者注:
———————————————–
NAME (名称)
killall – 以名字方式来杀死进程
SYNOPSIS (总览)
killall [-egiqvw] [-signal] name ...
killall -l
killall -V
DESCRIPTION (描述)
killall 发送一条信号给所有运行任意指定命令的进程. 如果没有指定信号名, 则发送SIGTERM..
信号可以以名字 (如 -HUP ) 或者数字 (如 -1 ) 的方式指定. 信号 0 (检查进程是否存在)只能以数字方式指定.
如果命令名包括斜杠 (/), 那么执行该特定文件的进程将被杀掉, 这与进程名无关.
如果对于所列命令无进程可杀, 那么 killall 会返回非零值. 如果对于每条命令至少杀死了一个进程, killall 返回 0.Killall 进程决不会杀死自己 (但是可以杀死其它 killall 进程).
OPTIONS (选项)
-e
-g
杀死属于该进程组的进程. kill 信号给每个组只发送一次, 即使同一进程组中包含多个进程.
-i
交互方式,在杀死进程之前征求确认信息.
-l
列出所有已知的信号名.
-q
如果没有进程杀死, 不会提出抱怨.
-v
报告信号是否成功发送.
-V
显示版本信息.
-w
等待所有杀的进程死去. killall 会每秒检查一次是否任何被杀的进程仍然存在, 仅当都死光后才返回. 注意: 如果信号被忽略或没有起作用, 或者进程停留在僵尸状态, killall 可能会永久等待.
FILES(相关文件)
/proc proc文件系统的存在位置.
KNOWN bugS (已知 BUGS)
以文件方式杀死只对那些在执行时一直打开的可执行文件起作用, 也即, 混杂的可执行文件不能够通过这种方式杀死.
要警告的是输入 killall name 可能不会在非 Linux 系统上产生预期的效果, 特别是特权用户执行时要小心.
在两次扫描的间隙, 如果进程消失了而被代之以一个有同样 PID 的新进程, killall -w 侦测不到.
下面来了解相关命令:
第一段:查看进程的命令 有ps、pstree、pgrep等:
①.、ps
显示进程信息,参数可省略
-aux 以BSD风格显示进程 常用
-efH 以System V风格显示进程
-e , -A 显示所有进程
a 显示终端上所有用户的进程
x 显示无终端进程
u 显示详细信息
f 树状显示
w 完整显示信息
l 显示长列表
在终端中执行ps aux,
各列输出字段的含义:
USER 进程所有者
PID 进程ID
PPID 父进程
%CPU CPU占用率
%MEM 内存占用率
NI 进程优先级.数值越大,占用CPU时间越少
VSZ 进程虚拟大小
RSS 页面文件占用
TTY 终端ID
STAT 进程状态
◆---D 不可中断 Uninterruptible sleep (usually IO)
◆---R 正在运行,或在队列中的进程
◆---S 处于休眠状态
◆---T 停止或被追踪
◆---Z 僵尸进程
◆---X 死掉的进程
◆--- 高优先级
◆---N 低优先级
◆---L 有些页被锁进内存
◆---s 包含子进程
◆---◆ 位于后台的进程组;
◆---l 多线程,克隆线程 multi-threaded (using CLONE_THREAD, like NPTL pthreads do)
PID:进程标识符,系统为每一个进程分配一个识别码,称为PID.
ps命令极为常用,其他命令还有:
树状显示进程信息
-a 显示完整命令及参数
-c 重复进程分别显示
-c 显示进程ID PID
-n 按 PID 排列进程
显示进程的PID
-l 显示进程名和进程PID
-o 进程起始ID
-n 进程终止ID
第二段:结束进程的命令 有kill、pkill、killall、xkill等:
kill [信号代码] 进程PID
信号代码,可取值如下:
-l [信号数字] 显示、翻译信号代码
-1 , -HUP 挂起
-11 , -SEGV 内存错误
-STOP 停止进程,但不结束
-CONT 继续运行已停止的进程
pkill 进程名
结束进程族.如果结束单个进程,请用 kill
killall 进程名
killall和pkill 应用方法差不多,也是直接杀死运行中的程序;如果您想杀掉单个进程,请用kill 来杀掉.
xkill
在图形界面中点杀进程.
当xkill运行时鼠标指针变为骷髅图案,哪个图形程序崩溃一点就OK了.如果您想终止xkill ,就按右键取消.
比如当firefox 出现崩溃不能退出时,点鼠标就能杀死firefox .
xkill 调用方法:
linux中pkill的简单用法
pkill 和killall 应用方法差不多,也是直接杀死运行中的程序;如果您想杀掉单个进程,请用kill 来杀掉.
必要参数
-f 显示完整程序
-l 显示源代码
-n 显示新程序
-o 显示旧程序
-v 与条件不符合的程序
-x 与条件符合的程序
选择参数
-p进程号 列出父进程为用户指定进程的进程信息
-t终端 指定终端下的所有程序
-u用户 指定用户的程序
应用方法:
#pkill 正在运行的程序名
举例:
Java代码
也就是说:
kill 对应的是 PID
pkill 对应的是COMMAND
方法一:
(1)ctrl◆alt◆t,调出终端,输入 top,然后就可以看到现在系统的进程,是按占用资源从多到少排列的.
找到要关掉的进程,记下该进程第一列的数字编号(假设是xx),然后输入q,退回终端.
方法二:
ctrl◆alt◆t,调出终端,输入:sudo pkill firefox
范例1: 杀死指定进程
PID TTY TIME CMD
......忽略部分
————————————————
原文链接:
ps是Linux 中最基础的浏览系统中的进程的命令.能列出系统中运行的进程,包括进程号、命令、CPU使用量、内存使用量等.此时此刻呢解读一下Linux操作系统的进程和Windows「Ctrl◆Alt◆delete」直接的差异.
在进行了解进程命令之前需要知道进程的一些状态
Linux操作系统进程执行的状态转换图如图所示:
下面来看一下 ps命令
ps --help命令可以查看ps命令的使用说明
或者使用 man ps命令 查询ps的详细说明
在 man手册 关于ps的解读中,总结了一下几个参数的含义:
以上的参数是可以拼接使用的,那就了解一些常用的参数组合
ps aux命令
ps -ef命令
查看进程状态这两个是命令是最常用的,使用 ps aux 可以查看进程的详细运行状态等.使用 ps -ef 不仅可以显示自身的PID,也可以显示PPID(父进程).但是显示不了进程的运行状态
top命令
top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器
man手册关于top的解释
关闭进程,重启进程
在上一片文章中 linux的目录结构 里面说过,在目录/etc/init.d/目录下包含许多系统各种服务的启动和停止脚本.假设进程占用内存较大或者进程异常,我们是重启这个进程restart.如下图所示:
我们来看一下进程状态[下面是删减版,进程数量太多,列举一部分]
在使用Windows系统的过程中,都碰到过应用程序卡死的情况.应对此问题,我们一般都是等待失去响应的程序恢复,或者是直接使用任务管理器将其强制关闭,然后再重新打开.
在Linux中,遇到特别耗费资源的进程,当然需要使用 top命令 查看进程占用率高的进程.或者使用 free -m命令 查看内存剩余.假设需要强杀进程来释放空间.我们涉及到Linux中信号?的知识,今天这一节简单的描述一下,信号的详解会在此时此刻呢的文章里面叙述.
free -m命令查看内存空间
使用 kill -l命令 查看信号列表
在前面说过进程会被这些个信号 (进程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信号强制停止运行) 那问题就在于如何发信号给这些个进程.
使用kill命令发信号
我们从上面可以看到 mysqld进程被重启了 .
关于Linux的这一块进程的知识还有很多,后面的文章跟大家分享僵尸进程,孤儿进程等等知识,以及守护进程(daemon进程).