轻松学会查看Linux进程状态,提升系统管理技能 (查看linux的进程状态)

在Linux系统中,进程是指正在运行的程序的执行实例。进程管理是系统管理者的必修课程,掌握进程状态的查看方法对于快速了解系统运行情况有着极为重要的意义。本篇文章将介绍如何通过几个简单的命令来查看Linux进程的状态,以提升系统管理技能。

一、常用命令

1. ps

ps是最基础的查看进程的命令,它可以列出当前所有进程的详细信息。

“`bash

ps aux

“`

其中,

– a选项表示列出当前终端所有进程的详细信息;

– u选项表示包含进程状态以及CPU和内存的占用情况;

– x选项用于列出运行在当前终端的所有进程,包括没有控制终端的进程。

该命令的输出结果包括进程ID、用户ID、CPU使用情况、内存使用情况、进程状态等信息。需要注意的是,ps命令列出的进程是被实时更新的,因此可以得到即时的进程状态信息。

2. top

top命令可以用来实时地查看系统的资源占用情况,包括CPU占用率、内存占用率等。

“`bash

top

“`

运行该命令后,可以看到输出结果包括系统的总体运行状态、进程占用CPU和内存的情况以及进程ID等信息。该命令还可以通过按键来实现进程的排序、筛选以及显示等操作。

3. pstree

pstree命令可以用于以树形结构显示进程信息,使得进程之间的关系更加直观。

“`bash

pstree

“`

运行该命令后,可以看到输出结果是进程以父子关系树状显示的,同一级别的进程会以相同的缩进显示。该命令还可以通过选项自定义输出结果的格式和显示信息。

4. kill

kill命令可以用来停止或者杀死进程,通常用于关闭异常进程。

“`bash

kill

“`

其中,是需要终止的进程号。通过该命令可以向指定的进程发送一个信号,常用信号有9(强制杀死进程)和15(优雅停止进程)。

二、进程状态的含义

在使用上面介绍的命令查看进程状态时,会发现每个进程都有一个状态列,表示该进程的状态。进程状态的含义如下:

– R(可运行):进程正在运行;

– S(睡眠):进程正在等待一个事件,例如磁盘输入/输出、网络消息等;

– D(不可中断睡眠):进程正在等待一个事件,但是在等待过程中不会被信号打断;

– Z(僵尸):进程已经终止,但是其父进程还没有通过wtpid系统调用来获取其退出状态;

– T(暂停):进程已被暂停或停止;

– t(跟踪/调试状态):进程正在被跟踪或者处于调试状态;

– X(死亡):进程已经终止或挂起。

三、常见问题

1. 怎样才能杀死僵尸进程?

僵尸进程是指已经运行完成但是父进程没有及时获取退出状态的进程。可以使用kill命令将其杀死。如果无法杀死僵尸进程,可以尝试使用kill -9命令,该命令强制停止进程,不给进程任何执行的机会,但是操作需要谨慎,否则可能会带来系统的不稳定性。

2. 进程状态为D进行中的进程如何解决?

如果进程处于D状态,通常是由于输入/输出等操作超时或者因为硬件设备出现故障导致的。可以先尝试使用kill -9命令停止进程,然后寻求相应的硬件检查和修复工具排查问题。

3. 如何查看某个进程打开的文件?

可以通过lsof命令来查看某个进程打开的所有文件。该命令可以查看各种类型的文件,包括普通文件、目录、管道等。语法如下:

“`bash

lsof -p

“`

其中,是进程号,该命令可以显示指定进程打开的所有文件以及文件的属性,包括文件名、文件位置、文件类型等。

四、

相关问题拓展阅读:

如何查看Linux服务器的进程

1.ps

  ps命令是最基本同时也是非常强大的进程查看命令。使用该命令可以确定有哪些进燃弊程正在运行和它所运行的状态、进程是否结束、进程有没有僵死、哪些进程占用了过多的资源等。总之大部分信息都是可以通过执行该命令得到的。ps命令最常用来监控后台进程的工作情况,因为后台进启梁程是不和屏幕、键盘这些标准输入/输出设备进行通信的,所以如果需要检测后台情况,就需要使用ps命令了。它的格式如下所示:

  格式:ps

  其主要选项如下。

  -a:显示系统中所有进程的信息。

  -e:显示所有进程的信息。

  -f:显示进程的所有信息。

  -l:以长格式显示进程信息。皮旁族

  -r:只显示正在运行的进程。

  -u:显示面向用户的格式(包括用户名、CPU及内存的使用情况等信息)。

  -x:显示所有非控制终端上的进程信息。

  -p:显示由进程ID指定的进程信息。

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

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

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

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

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

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

su – root 切换到root权限

ps -A   查看结果

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

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 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的进程状态的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。


数据运维技术 » 轻松学会查看Linux进程状态,提升系统管理技能 (查看linux的进程状态)