Linux进程状态查看(stat命令) (linux 进程 stat s)

在Linux操作系统中,进程是一个很重要的概念,是在操作系统内核中运行的程序的实例。进程的状态反映了进程当前的运行情况,可以用stat命令来查看进程状态。

一、什么是进程状态

Linux系统中,进程状态可以分为以下五种:

1.就绪状态。进程已被调度上CPU等待执行的状态,但由于还有其他进程正在占用CPU,所以暂时无法运行。

2.运行状态。进程正在CPU上执行的状态。

3.阻塞状态。进程正在等待某个事件发生的状态,比如等待IO操作完成或者等待信号。

4.停止状态。进程已经被挂起,无法继续运行,但在内存中仍然存在。

5.僵尸状态。进程已经结束运行,但其父进程尚未处理完死信号,所以其内存资源未释放,需要子进程或者操作系统清理。

进程状态的掌握可以帮助我们了解进程当前的运行情况,有利于进程管理和系统调优。

二、 Linux进程状态查看命令

Linux系统提供了多种工具和命令来查看进程状态,其中最常用的命令是ps和stat。

1.ps命令

ps命令用于显示当前系统中的进程状态,我们可以通过它来查看进程状态、进程ID、进程命令等相关信息。

ps命令的常用选项:

-a: 显示所有终端的进程,包括其他用户的进程。

-u: 显示进程的详细信息(进程所属用户、CPU使用率、内存占用率等)。

-x: 显示所有进程,包括没有控制终端的进程。

-e: 显示系统中所有进程的状态。

常用的ps命令:

ps aux: 显示当前所有进程的详细信息。

ps aux | grep 进程名: 查找指定进程。

2.stat命令

stat命令用于获取文件或目录的状态信息,也可以用来查看进程状态。

语法:stat [-L|-f|-c] [-t | –format=FORMAT] 文件名

选项:

-L: 如果文件是一个符号链接(软链接),则显示符号链接的状态而不是目标文件的状态。

-f: 显示文件系统的状态,而不是文件的状态。

-c: 自定义格式。

-t, –format=FORMAT: 自定义输出格式,支持%a,%A,%b,%B,%d,%f,%F,%g,%G,%h,%i,%m,%n,%N,%o,%s,%t,%T,%u,%U,%x,%X,%y,%Y,%z,%Z,%w,%W。

stat命令查看进程状态:

1.查看进程的启动时间和运行时间

命令:stat /proc/PID

其中PID是进程ID。

输出结果中的Modify是进程的启动时间,Access是操作系统最近一次访问该进程的时间,Change是进程的状态改变时间。

2.查看进程状态

命令:stat /proc/PID/exe

其中exe是进程的命令路径,通过该命令可以查看进程的状态信息。

输出结果中的Mode中,之一个字符代表文件类型,如果是d则代表目录,如果是-则代表常规文件,如果是l则代表符号链接;第二个到第十个字符代表文件权限。

同时,输出结果中还可以看到进程的所有者、所属组、大小等信息。

以上就是Linux进程状态查看的方法,掌握这些技巧可以帮助我们更好地管理Linux系统中的进程。

相关问题拓展阅读:

linux下用程序读取某进程的状态信息(/proc/[pid]/stat)时,该进程结束了。怎么办

不是很明白你想做什么,你的意思进程的死亡是非正常的?

/proc/中文件都是实时的 即你的侍基进程结州简束指父进程,那么 /proc/中就册谈裤不会再有该记录

如何在Linux中查看所有正在运行的进程

命令行方式登陆linux系空陪统

su – root 切换到root权限

ps -A   查看结果

ps命令有好多察戚参数,一般ps -aux 用败亏陵的比较多。可以用ps –help查看帮助。

查看Linux中所有正在运行的进程 ,可以参考如下方法:

1、通过ps命瞎源令的-A或者-e参数来获取系统中所有的进程,这两个参数的作用一样的。

2、通过top命令来获取滑歼系统中所有的进程任务 。执行top命令后,在tasks一栏会看到总的任务数。信神冲

ps 和 top都可以看系统中正在运行的进程

ps 命令提供了当前运行进程的快照。

使用带有 -ef 选项的 ps ,返回系统中所有用户的所有进山耐程的完整列表。如果您将此 ps 命令的结果传送到 grep 中,则该结果更易于查看。例如:

$ ps -ef | grep oracle

这没唯丛条命令会显示:

UID PID PPID C STIME TTY TIME CMD

oracle:58 ?00:00:00 ora_pmon_ora1

oracle:58 ?00:00:00 ora_dbw0_ora1

oracle:58 ?00:00:01 ora_lgwr_ora1

oracle:58 ?00:00:02 ora_ckpt_ora1

下面是ps的选项

-A:列出所有的进程。

-l:显示长列表。

-m:显示内存信息。

-w:显枯樱示加宽可以显示较多的信息。

-e:显示所有进程。

a:显示终端上的所有进程,包括其它用户的进程。

-au:显示较详细的信息。

-aux:显示所有包含其它使用者的进程。

要即时查看最活跃的进程,可使用 top

ps -elf 命令即可查看,另外你要学习linux的常用命令以方便使用

ps aux 或者 ps -le

名称:ps

使用权限:所有使用者

使用方式:ps

说明腔汪:显示瞬间行程 (process) 的动态

参数:ps的参数非常多, 在此仅列出几个常用的参数并大略介绍含义

-A 列出所有的进程

-w 显示加宽可以显示较多的资讯

-au 显示较详细的资讯

-aux 显示所有包含其他使用者的行程

############################################################

常用参数:

-A 显示所有进程(等价于-e)(utility)

-a 显示一个终端的所有进程,除了会话引线

-N 忽略选择。

-d 显示所有进程,但省略所有的会话引线(utility)

-x 显示没有控制终端的进程,同时显示各个命令的具体路径。dx不可合用。(utility)

-p pid 进程使用cpu的时间

-u uid or username 选择有效慎圆陆的用户id或者是用户名

-g gid or groupname 显示组的所有进程。

U username 显示该用户下的所有进程,且显示各个命令的详细路径。如:ps U zhang;(utility)

-f 全部列出,通常和其他选项联用。如:ps -fa or ps -fx and so on.

-l 长格式(有F,wchan,C 等字段)

-j 作业格式

-o 用户自定义格式。

v 以虚拟存储器格式显示

s 以信号格式显示

-m 显示所有的线程

-H 显示进程的层次(和其它的命令合用,如:ps -Ha)(utility)

e 命令之后显示环境(如:ps -d e; ps -a e)(utility)

h 不显示之一行

############################################################

ps命令常用用法(方便查看系统进程)

1)ps a 显示现行终端机下的所有程序,包括其他用户的程序。

2)ps -A 显示所有进程。

3)ps c 列出程序时,显示每个程序真正的指令名称,而不包含路径,参数或常驻服务的标示。

4)ps -e 此参数的效果和指定”A”参数相同。

5)ps e 列出程序时,显示每个程序所使用的环境变量。

6)ps f 用ASCII字符显示树状结构,表达程序间的相互关系。

7)ps -H 显示树状结构,表示程序间的相互关系。

8)ps -N 显示所有的程序,除了执行ps指令终端机下的程序之外。

9)ps s 采用程序信号的格式显示程序状况。

10)ps S 列宽顷出程序时,包括已中断的子程序资料。

11)ps -t  指定终端机编号,并列出属于该终端机的程序的状况。

12)ps u  以用户为主的格式来显示程序状况。

13)ps x  显示所有程序,不以终端机来区分。

最常用的方法是ps -aux,然后再利用一个管道符号导向到grep去查找特定的进程,然后再对特定的进程进行操作。

############################################################

运行 ps aux 的到如下信息:

root:# ps aux

USER PID%CPU %MEM VSZ RSS TTY STAT START TIME COMMAND

msp.0 0.? Ss 20::00 sendmail: Queue runner@01:00:00 f

root.0 0.52 ? Ss 20::00 gpm -m /dev/input/mice -t imps2

htt.0 0.96 ? Ss 20::00 /usr/in/htt -retryonerror 0

htt.0 1.? Sl 20::00 htt_server -nodaemon

root.0 0.92 ? Ss 20::00 crond

xfs.0 1.? Ss 20::00 xfs -droppriv -daemon

root.0 0.52 ? SNs 20::00 anacron -s

root.0 0.20 ? Ss 20::00 /usr/in/atd

dbus.0 0.? Ssl 20::00 dbus-daemon-1 –system

Head标头:

USER 用户名

UID 用户ID(User ID)

PID 进程ID(Process ID)

PPID 父进程的进程ID(Parent Process id)

SID 会话ID(Session id)

%CPU 进程的cpu占用率

%MEM 进程的内存占用率

VSZ 进程所使用的虚存的大小(Virtual Size)

RSS 进程使用的驻留集大小或者是实际内存的大小,Kbytes字节。

TTY 与进程关联的终端(tty)

STAT 进程的状态:进程状态使用字符表示的(STAT的状态码)

R 运行 Runnable (on run queue)正在运行或在运行队列中等待。

S 睡眠 Sleeping 休眠中, 受阻, 在等待某个条件的形成或接受到信号。

I 空闲 Idle

Z 僵死 Zombie(a defunct process)进程已终止, 但进程描述符存在, 直到父进程调用wait4()系统调用后释放。

D 不可中断 Uninterruptible sleep (ususally IO) 收到信号不唤醒和不可运行, 进程必须等待直到有中断发生。

T 终止 Terminate 进程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信号后停止运行运行。

P 等待交换页

W 无驻留页 has no resident pages没有足够的记忆体分页可分配。

X 死掉的进程

ps001.txt

把结果输出到ps001.txt文本中并保存。

# more ps001.txt

这里是把所有进程显示出来,并输出到ps001.txt文件,然后再通过more 来分页查看。

4、kill 终止(杀死)进程,有十几种控制进程的方法,下面是一些常用的方法:

#kill -STOP

发送SIGSTOP (17,19,23)停止一个进程,而并不消灭这个进程。

#kill -CONT

发送SIGCONT (19,18,25)重新开始一个停止的进程。

#kill -KILL

发送SIGKILL (9)强迫进程立即停止,并且不实施清理操作。

#kill -9 -1

终止你拥有的全部进程。

关于linux 进程 stat s的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。


数据运维技术 » Linux进程状态查看(stat命令) (linux 进程 stat s)