Linux命令高级技巧使用ps命令查看进程信息
- 格式:docx
- 大小:37.31 KB
- 文档页数:3
选项功能-A显⽰所有的进程,跟-e 的效果相同-a显⽰现⾏终端机下的所有进程,包括其他⽤户的进程-u显⽰当前⽤户的进程状态-x通常与 a 这个参数⼀起使⽤,可列出较完整信息-l较长、较详细的将该PID 的信息列出-j⼯作的格式(jobs format)-f把进程的所有信息都显⽰出来-e 表⽰显⽰所有继承Linuxps 命令详解⼀、ps 命令介绍 Linux 系统中会运⾏各种各样的进程,如果要对进程进⾏监控,⾸先必须了解当前进程的情况,也就是需要查看当前进程。
ps 命令就是最基本的进程查看命令,使⽤该命令可以看到有哪些进程正在运⾏,并且可以看到进程的运⾏状态、进程是否结束、进程有没有僵死、哪些进程占⽤了过多的资源等等。
总之⼤部分信息都是可以通过执⾏该命令得到。
ps 是显⽰瞬间进程的状态,并不动态连续,如果想对进程进⾏实时监控应该⽤top 命令。
ps 命令的格式为:ps [选项]ps 命令常⽤的选项参数有:由于ps 命令⽀持的系统类型相当的多,所以它的参数多的离谱,⽽且有没有加上 -差很多,所以只需要记住常⽤的⼏个命令即可。
⼆、ps 使⽤实例【例1】较长、较详细的将属于本次登⼊⽤户的进程列出来➜ ~ ps -l F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD 0 S 1001 1702969 1702967 0 80 0 - 11484 - pts/1 00:00:01 zsh0 R 1001 1710433 1702969 0 80 0 - 7460 - pts/1 00:00:00 ps 各个表头的含义为:F :代表这个进程的flag ,如果是4,则代表使⽤者为 super userS :代表这个进程的状态statUID :代表执⾏者的userIdPID :进程的idPPID :⽗进程的idC :占⽤CPU 资源的百分⽐PRI :指进程的执⾏优先级(Priority 的简写),其值越⼩越早被执⾏NI :代表进程的nice 值,其表⽰进程可被执⾏的优先级的修正数值ADDR :代表进程的地址,它指出该进程在内存的哪个部分,如果是个正在运⾏的程序,⼀般都是"-"SZ :占⽤的内存⼤⼩WCHAN :判断当前进程是否正在运⾏,若为"-",则代表正在运⾏;若该进程处于休眠状态,该值就是它在内核中的地址TTY :该进程是在那个终端机上⾯运⾏,若与终端机⽆关,则显⽰?,另外,tty1-tty6 是本机上⾯的登⼊者程序,若为 pts/0 等等的,则表⽰为由⽹络连接进主机的程序。
Linux系统中的ps进程查看命令使⽤实例集锦linux 中ps命令是Process Status的缩写。
ps命令可以列出系统中当前运⾏的进程,所列出的进程是执⾏ps命令这个时刻正在运⾏的进程。
如果要动态显⽰进程信息,需要使⽤top命令。
通过ps命令,可以确定哪些进程正在运⾏和运⾏状态、进程是否结束、进程是否僵死,哪些进程占⽤过多资源等。
要杀死进程,使⽤kill命令,例:kill 12345 (12345为进程的pid)linux进程有5种状态1.运⾏(正在运⾏或在运⾏队列中等待)2.中断(休眠中,受阻,或等待某个条件的形成或接受到信号)3.不可中断(收到信号不唤醒和不可运⾏,进程必须等待直到有中断发⽣)4.僵死(进程已终⽌,但进程描述符存在,直到⽗进程调⽤wait4()系统调⽤后释放)5.停⽌(进程受到SIGSTOP,SIGSTP,SIGTIN,SIGTOU信号后停⽌运⾏)ps 5种进程状态的标识码如下:R 运⾏ runnable(on run queue)S 中断 sleepingD 不可中断 uninterruptible sleep (usually IO)Z 僵死 a defunct("zombie") processT 停⽌ traced or stopped命令参数a 显⽰所有进程-a 显⽰同⼀终端下的所有程序-A 显⽰所有进程c 显⽰进程的真实名称-N 反向选择-e 等于“-A”e 显⽰环境变量f 显⽰程序间的关系-H 显⽰树状结构r 显⽰当前终端的进程T 显⽰当前终端的所有程序u 指定⽤户的所有进程-au 显⽰较详细的资讯-aux 显⽰所有包含其他使⽤者的进程-C<命令> 列出指定命令的状况–lines<⾏数> 每页显⽰的⾏数–width<字符数> 每页显⽰的字符数–help 显⽰帮助信息–version 显⽰版本显⽰输出列的含义F 代表这个程序的旗标 (flag), 4 代表使⽤者为 super userS 代表这个程序的状态 (STAT),关于各 STAT 的意义将在内⽂介绍UID 程序被该 UID 所拥有PID 进程的IDPPID 则是其上级⽗程序的IDC CPU 使⽤的资源百分⽐PRI 这个是 Priority (优先执⾏序) 的缩写,详细后⾯介绍NI 这个是 Nice 值,在下⼀⼩节我们会持续介绍ADDR 这个是 kernel function,指出该程序在内存的那个部分。
Linux命令--ps命令详解命令说明: PS是LINUX下最常⽤的也是⾮常强⼤的进程查看命令。
Linux下显⽰系统进程的命令ps,最常⽤的有 ps -ef 和 ps aux。
实例:ps -ef其中各列的内容意思如下UID //⽤户ID、但输出的是⽤户名PID //进程的IDPPID //⽗进程IDC //进程占⽤CPU的百分⽐STIME //进程启动到现在的时间TTY //该进程在那个终端上运⾏,若与终端⽆关,则显⽰? 若为pts/0等,则表⽰由⽹络连接主机进程。
CMD //命令的名称和参数ps aux 是⽤BSD的格式来显⽰、其格式如下同ps -ef 不同的有列有USER //⽤户名%CPU //进程占⽤的CPU百分⽐%MEM //占⽤内存的百分⽐VSZ //该进程使⽤的虚拟內存量(KB)RSS //该进程占⽤的固定內存量(KB)(驻留中页的数量)STAT //进程的状态START //该进程被触发启动时间TIME //该进程实际使⽤CPU运⾏的时间其中STAT状态位常见的状态字符有D //⽆法中断的休眠状态(通常 IO 的进程);R //正在运⾏可中在队列中可过⾏的;S //处于休眠状态;T //停⽌或被追踪;W //进⼊内存交换(从内核2.6开始⽆效);X //死掉的进程(基本很少见);Z //僵⼫进程;< //优先级⾼的进程N //优先级较低的进程L //有些页被锁进内存;s //进程的领导者(在它之下有⼦进程);l //多线程,克隆线程(使⽤ CLONE_THREAD, 类似 NPTL pthreads);+ //位于后台的进程组。
Linux 使用ps命令捕获进程状态
通过执行ps(process status)命令可以查看系统中所运行进程的详细信息。
例如,在终端窗口中执行ps命令后,系统会显示当前用户运行的进程列表,如图49所示。
图49 显示当前运行的进程列表
其中,PID表示进程的ID号,供系统辨别和处理;TTY表示用户使用的终端代号,TIME表示程序所消耗的CPU时间,CMD表示正在执行的程序或者命令。
语法格式如下所示,主要参数介绍如表7所示
下面将通过例子介绍几种ps命令的使用方法。
例如,要查看所有进程的详细信息,可以使用ps -ef命令,如图50所示。
图50 查看所有进程的详细信息
在上图中,UID表示进程所有者的用户帐户名;PPID表示父进程的进程标识码;C表示进程最近使用CPU的估算时间;STIME表示进程开始的时间;TTY的值若为“?”,则表示该进程不占用终端。
单独使用ps命令所查看的进程列表都是在前台执行的进程,但是也有不少进程是在后台执行的,只要在ps命令中添加参数aux就可以查看系统用户的全部进程,如图51所示。
图51 查看系统用户的全部进程
在上图中,USER表示进程所有者的用户名;%CPU表示进程对CPU的使用率;%MEM表示进程的内存使用率;VSZ表示进程占用虚拟内存的大小(单位为KB);RSS表示进程占用实际内存的大小;STA T表示进程的状态。
要对系统中进程进行监测控制,查看状态,内存,CPU的使用情况,使用命令:/bin/ps (1) ps :是显示瞬间进程的状态,并不动态连续;(2) top:如果想对进程运行时间监控,应该用 top 命令;(3) kill :用于杀死进程或者给进程发送信号;(4)查看文章最后的man手册,可以查看ps的每项输出的含义,to find: STANDARD FORMAT SPECIFIERS===================================ps 的参数说明=============================l 长格式输出;u 按用户名和启动时间的顺序来显示进程;j 用任务格式来显示进程;f 用树形格式来显示进程;a 显示所有用户的所有进程(包括其它用户);x 显示无控制终端的进程;r 显示运行中的进程;ww 避免详细参数被截断;-A 列出所有的进程-w 显示加宽可以显示较多的资讯-au 显示较详细的资讯-aux 显示所有包含其他使用者的进程-e 显示所有进程,环境变量-f 全格式-h 不显示标题-l 长格式-w 宽输出a 显示终端上地所有进程,包括其他用户地进程r 只显示正在运行地进程x 显示没有控制终端地进程我们常用的选项是组合是 aux 或 lax,还有参数 f 的应用。
pids 只列出进程标识符,之间运用逗号分隔.该进程列表必须在命令行参数地最后一个选项后面紧接着给出,中间不能插入空格.比如:ps -f1,4,5 显示的是进程ID为1,4,5的进程下介绍长命令行选项,这些选项都运用“--”开头:--sort X[+|-] key [,[+|-] key [,…]] 从SORT KEYS段中选一个多字母键.“+”字符是可选地,因为默认地方向就是按数字升序或者词典顺序,“-”字符是逆序排序(即降序).比如: ps -jax -sort=uid,-ppid,+pid.--help 显示帮助信息.--version 显示该命令地版本信息.在前面地选项说明中提到了排序键,接下来对排序键作进一步说明.需要注意地是排序中运用地值是ps运用地内部值,并非仅用于某些输出格式地伪值.排序键列表见下表.============排序键列表==========================c cmd 可执行地简单名称C cmdline 完整命令行f flags 长模式标志g pgrp 进程地组IDG tpgid 控制tty进程组IDj cutime 累计用户时间J cstime 累计系统时间k utime 用户时间K stime 系统时间m min_flt 次要页错误地数量M maj_flt 重点页错误地数量n cmin_flt 累计次要页错误N cmaj_flt 累计重点页错误o session 对话IDp pid 进程IDP ppid 父进程IDr rss 驻留大小R resident 驻留页s size 内存大小(千字节)S share 共享页地数量t tty tty次要设备号T start_time 进程启动地时间U uid UIDu user 用户名v vsize 总地虚拟内存数量(字节)y priority 内核调度优先级========================================ps aux 或 lax 输出的解释=========================2、ps aux 或 lax 输出的解释au(x) 输出格式 :USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMANDUSER: 进程所有者PID: 进程ID%CPU: 占用的 CPU 使用率%MEM: 占用的内存使用率VSZ: 占用的虚拟内存大小RSS: 占用的内存大小TTY: 终端的次要装置号码 (minor device number of tty)STAT: 进程状态:START: 启动进程的时间;TIME: 进程消耗CPU的时间;COMMAND:命令的名称和参数;=========================================进程STAT状态==================================D 无法中断的休眠状态(通常 IO 的进程);R 正在运行,在可中断队列中;S 处于休眠状态,静止状态;T 停止或被追踪,暂停执行;W 进入内存交换(从内核2.6开始无效);X 死掉的进程;Z 僵尸进程不存在但暂时无法消除;W: 没有足够的记忆体分页可分配WCHAN 正在等待的进程资源;<: 高优先级进程N: 低优先序进程L: 有记忆体分页分配并锁在记忆体内 (即时系统或捱A I/O),即,有些页被锁进内存s 进程的领导者(在它之下有子进程);l 多进程的(使用 CLONE_THREAD, 类似 NPTL pthreads);+ 位于后台的进程组;========================================kill 终止进程================================kill 终止进程有十几种控制进程的方法,下面是一些常用的方法:kill -STOP [pid]发送SIGSTOP (17,19,23)停止一个进程,而并不消灭这个进程。
linux命令ps用法ps命令是Linux下常用的进程查看命令,可以查看当前系统中运行的进程信息。
ps命令的用法非常灵活,可以根据不同的参数组合来查看不同的进程信息。
下面我们一步一步地介绍ps命令的用法。
一、ps命令简介ps是英文Process Status的缩写,它用于显示当前系统中的进程状态。
通过ps 命令,我们可以查看到系统中正在运行的进程,进程的PID(进程ID),进程的运行状态等信息。
二、基本用法1. 命令格式ps的基本格式为:ps [options]options是可选参数,可以根据实际需求选择合适的参数来获取所需的进程信息。
2. 常用参数下面我们介绍一些常用的ps参数:- a:显示所有进程,包括其他用户的进程。
- u:以用户为主的格式显示进程信息,包括进程的用户名、PID、CPU占用率、内存占用率等。
- x:显示没有控制终端的进程。
- f:以树形结构显示进程信息,显示进程的父子关系。
- e:显示所有进程,包括无终端的进程。
- x:显示所有进程,不包括没有控制终端的进程。
3. 示例通过下面的示例,我们可以更好地理解ps命令的使用方法:ps -ef该命令将显示所有进程的完整信息,包括PID、TTY(终端设备)、STAT(进程状态)、TIME(CPU占用时间)、COMMAND(进程的命令)等。
ps -aux该命令将显示所有进程的详细信息,包括用户、PID、CPU占用率、内存占用率、进程开始运行的时间等。
ps -ef grep sshd该命令将显示所有包含"sshd"的进程信息。
三、进阶用法除了基本用法,ps命令还有一些进阶的用法,可以更加灵活地获取进程信息。
1. 显示指定用户的进程可以使用"-u"参数来显示指定用户的进程。
例如,要查看用户"root"的进程,可以使用以下命令:ps -u root2. 按照进程、CPU或者内存占用率排序可以使用"sort"参数来按照进程、CPU或者内存占用率排序。
Linux终端管理如何查找和杀死进程进程管理是Linux操作系统中一项重要的任务之一,在终端中查找和杀死进程是每个系统管理员和开发人员需要了解和掌握的技能。
本文将介绍Linux终端中如何查找和杀死进程的方法及相关命令。
一、查找进程查找进程是指在Linux系统中获取正在运行的进程的信息,以便进行后续操作。
有以下几种常见的查找进程的方法:1. ps命令ps命令是Linux中最常用的查看进程信息的命令,通过ps命令可以查看正在运行的进程以及其相关信息。
在终端中输入以下命令可以列出当前运行的所有进程:```ps aux```该命令将显示出进程的PID(进程ID)、运行状态、CPU使用率、内存使用率等信息。
2. top命令top命令是一个动态显示系统进程信息的实用工具。
在终端中输入以下命令可以查看系统当前的进程活动情况,并按照CPU使用率进行排序:top```该命令将动态地显示出进程的PID、进程名、CPU使用率、内存使用率等信息,并持续更新。
3. pstree命令pstree命令是一个以树状图形式显示进程之间关系的工具。
在终端中输入以下命令可以查看系统中所有进程以及其子进程之间的关系:```pstree```该命令将以树形结构展示进程之间的关系,方便进行进程的查找和理解。
二、杀死进程杀死进程是指将正在运行的进程彻底停止,以释放系统资源或解决异常问题。
有以下几种常见的杀死进程的方法:1. kill命令kill命令是Linux中最常用的杀死进程的命令,可以使用进程的PID (进程ID)来指定要杀死的进程。
在终端中输入以下命令可以杀死指定PID的进程:kill PID```其中PID为进程的PID,可以通过前述的ps命令或top命令查找到。
2. pkill命令pkill命令可以根据进程名来杀死进程,而不需要手动输入PID。
在终端中输入以下命令可以杀死指定进程名的进程:```pkill 进程名```其中进程名为要杀死的进程的名称。
如何在Linux终端中查看和管理系统进程在Linux系统中,进程是指计算机正在运行的程序的实例。
了解和管理系统进程对于系统管理员和开发人员来说是非常重要的。
在本文中,我们将介绍如何在Linux终端中查看和管理系统进程。
一、查看系统进程在Linux终端中,我们可以使用一些命令来查看系统进程的信息。
1. ps命令ps命令是最常用的查看进程信息的命令之一。
在终端中输入以下命令:```ps aux```该命令会列出当前所有正在运行的进程的详细信息,包括进程的PID(进程ID)、运行时间、CPU占用率、内存占用率等。
2. top命令top命令可以实时地显示系统进程的信息。
在终端中输入以下命令:```top```该命令会以交互式的方式显示系统进程的信息,并按照CPU占用率进行排序。
你可以按下键盘上的“q”键来退出top命令。
3. pstree命令pstree命令可以以树状结构显示系统进程的关系。
在终端中输入以下命令:```pstree```该命令会以树状结构显示系统进程的关系,让你更好地理解进程之间的依赖和继承关系。
二、管理系统进程除了查看系统进程的信息,我们还可以对系统进程进行管理操作。
1. kill命令kill命令可以用来终止一个指定的进程。
在终端中输入以下命令:```kill <PID>```其中,<PID>为进程的ID。
通过ps命令或者top命令可以获取进程的ID。
执行以上命令后,该进程会被立即终止。
2. renice命令renice命令可以改变一个正在运行的进程的优先级。
在终端中输入以下命令:```renice <PID> <优先级>```其中,<PID>为进程的ID,<优先级>为一个介于-20和19之间的值。
一个较高的优先级值表示更高的优先级。
执行以上命令后,进程的优先级会被修改。
3. nohup命令nohup命令可以在终端关闭后继续运行一个进程。
Linuxps命令查看进程启动及运⾏时间引⾔同事问我怎样看⼀个进程的启动时间和运⾏时间,我第⼀反应当然是说⽤ ps 命令啦。
ps aux或ps -ef不就可以看时间吗?ps aux选项及输出说明我们来重新复习下ps aux的选项,这是类 BSD 风格的命令选项,因为不带“-”。
通过 man 可以看到 aux 选项解释如下:a Lift the BSD-style "only yourself" restriction, which is imposed upon the set of all processeswhen some BSD-style (without "-") options are used or when the ps personality setting is BSD-like.The set of processes selected in this manner is in addition to the set of processes selected by other means.An alternate description is that this option causes ps to list all processes with a terminal (tty),or to list all processes when used together with the x option.x Lift the BSD-style "must have a tty" restriction, which is imposed upon the set of all processeswhen some BSD-style (without "-") options are used or when the ps personality setting is BSD-like.The set of processes selected in this manner is in addition to the set of processes selected by other means.An alternate description is that this option causes ps to list all processes owned by you (same EUID as ps),or to list all processes when used together with the a option.u Display user-oriented format.然后再来看下ps aux的输出结果,其⾸⾏如下,说明了输出的各列:USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND我们可以看到START和TIME列,通过 man 其说明如下:bsdstart START time the command started.If the process was started less than 24 hours ago, the output format is " HH:MM",else it is " Mmm:SS" (where Mmm is the three letters of the month).See also lstart, start, start_time, and stime.bsdtime TIME accumulated cpu time, user + system.The display format is usually "MMM:SS",but can be shifted to the right if the process used more than 999 minutes of cpu time.START 是命令启动的时间,如果在 24 ⼩时之内启动的,则输出格式为”HH:MM”(⼩时:分钟),否则就是”Mmm:SS”(⽉份英语单词前 3 个字母:⼀⽉的第⼏号?[SS 这⾥⾯怎么理解?为什么有冒号呢?输出并没冒号])可以知道,这⾥并不能直接看出 24 ⼩时之前启动的命令的精确启动时间。
linux的ps指令用法例子`ps` 是一个用于显示当前进程状态的命令。
它在Linux 和类Unix系统上广泛使用。
以下是一些常见的`ps` 命令用法和例子:1. 显示当前用户的所有进程信息:```bashps```2. 显示所有进程信息(与当前用户关联):```bashps -e```3. 以全格式显示当前用户的所有进程信息:```bashps -f```4. 以详细格式显示所有进程信息:```bashps aux```5. 显示特定进程的信息(使用进程ID):```bashps -p <PID>```6. 按照CPU 使用情况排序显示进程信息:```bashps aux --sort=-%cpu```7. 显示进程树:```bashps auxf```8. 显示进程及其子进程的树形结构:```bashps aux --forest```9. 仅显示进程ID和进程名:```bashps -eo pid,cmd```10. 通过进程名过滤显示进程信息:```bashps aux | grep <process_name>```11. 显示指定用户的进程信息:```bashps -u <username>```12. 显示进程的内存使用情况:```bashps aux --sort=-%mem```这只是`ps` 命令的一些基本用法和例子。
`ps` 命令有很多选项,你可以根据具体需求使用不同的选项来获取所需的进程信息。
要查看所有可用选项和更多详细信息,可以查看`ps` 命令的手册页,使用以下命令:```bashman ps```。
Linux命令高级技巧使用ps命令查看进程信
息
在Linux系统中,ps命令是一种非常有用的命令,它可以用于查看
当前系统中正在运行的进程信息。
本文将介绍一些ps命令的高级技巧,帮助读者更好地利用ps命令来管理进程。
1. 查看所有进程信息
首先,可以使用“ps -ef”命令来查看当前系统中所有进程的详细信息。
该命令会列出每个进程的PID(进程ID)、PPID(父进程ID)、C (CPU使用率)、STIME(进程启动时间)、TTY(所属终端)、CMD(进程命令)等信息。
2. 按照进程组进行过滤
如果只想查看属于某个特定进程组的进程信息,可以使用“ps -grp
进程组ID”命令,例如“ps -grp 100”会列出进程组ID为100的进程信息。
3. 查看指定进程的详细信息
有时候,我们想要查看某个特定进程的详细信息,可以使用“ps -p
进程ID”命令,例如“ps -p 1234”会列出进程ID为1234的进程信息。
如果想查看多个进程的信息,可以使用逗号分隔进程ID,例如“ps -p 1234,5678”。
4. 查看进程树
ps命令还可以以树状结构的形式来显示进程间的关系。
使用“ps -ejH”命令可以列出整个进程树,其中包括每个进程的PID、PPID、CMD等信息。
5. 自定义显示格式
ps命令默认显示一些基本信息,但我们也可以根据需要自定义显示格式。
使用“ps -eo”命令可以指定要显示的字段,例如“ps -eo
pid,user,cmd”会只显示进程ID、用户和命令信息,我们还可以使用“ps -e --sort=-rss -o pid,uname,pmem,pcpu,comm”命令以内存占用的降序方式列出PID、用户名、内存占用率、CPU使用率和进程命令信息等。
6. 查看进程的线程数
有时候,我们需要查看进程的线程数。
使用“ps -eLf”命令可以列出系统中所有进程的线程数,该命令会显示每个进程的PID、LWP(轻量级进程,即线程ID)、PRI(线程优先级)、LWP(线程绑定的CPU核心)等信息。
7. 实时监控进程
如果想要实时监控某个进程的状态,可以使用“ps -p 进程ID -
o %cpu,%mem,cmd”命令,并结合watch命令,每隔一段时间刷新一次显示结果。
例如,使用“watch -n 1 'ps -p 1234 -o %cpu,%mem,cmd'”命令会每秒钟刷新一次进程ID为1234的进程的CPU占用率、内存占用率和命令信息。
8. 进程间的信号交互
在Linux系统中,我们可以使用kill命令给进程发送不同的信号,比如终止进程、重启进程等。
使用ps命令可以获取进程的PID,然后将其与kill命令结合使用,实现对进程的信号交互。
例如,使用“ps -e | grep firefox | cut -d ' ' -f 1 | xargs kill -9”命令会查找包含关键词“firefox”的所有进程,然后给它们发送SIGKILL信号,强制终止这些进程。
总结:
本文介绍了Linux系统中使用ps命令查看进程信息的高级技巧,包括查看所有进程信息、按进程组过滤、查看指定进程的详细信息、查看进程树、自定义显示格式、查看进程的线程数、实时监控进程以及进程间的信号交互。
通过灵活运用ps命令的这些技巧,读者可以更加方便地管理和监控系统中的进程。