Linux怎样查询出当前系统的所有进程

Linux怎样查询出当前系统的所有进程,第1张

本方法以linux发行版RHEL7为例,Linux下使用PS命令结合相关参数可以查看linux当前系统下的所有进程、所有运行中的进程、所有非root运行的进程、所有指定用户运行的进程。

1.桌面点击右键d出菜单选择“Open in Terminal”,打开命令行终端

【以下 *** 作输入命令均在命令行终端输入】

2.在命令行终端执行ps的帮助命令“ps --helpa”查看ps命令参数列表

3.根据参数显示,使用命令“ps -A”查看当前系统所有的进程

说明一下:从RHEL7开始服务的管理程序改为了systemd.

4.使用“ps-aux|less”,查看当前系统正在运行的所有进程【all】

使用q键退出

5.使用“ps -U root -u root -N”,查看当前系统中非root运行的所有进程

6.使用“ps –u sshd”,查看sshd用户运行的所有进程

sshd用户没有运行进程,也就是说明并没有启动ssh服务。

一:ps命令

以下是 ps 的最简单形式:

$ ps

PID TTY TIME CMD

3884 pts/100:00:00 bash

3955 pts/200:00:00 more

3956 pts/500:00:05 sqlplus

•PID 是进程的标识号。

•TTY 是进程所属的终端控制台。

•TIME 列是进程所使用的总的 CPU 时间。

•CMD 列列出正在执行的命令行。

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

$ ps -ef | grep oracle

UIDPID PPID C STIME TTY TIME CMD

oracle1633 1 0 13:58 ?00:00:00 ora_pmon_ora1

oracle1635 1 0 13:58 ?00:00:00 ora_dbw0_ora1

oracle1637 1 0 13:58 ?00:00:01 ora_lgwr_ora1

oracle1639 1 0 13:58 ?00:00:02 ora_ckpt_ora1

oracle1641 1 0 13:58 ?00:00:02 ora_smon_ora1

oracle1643 1 0 13:58 ?00:00:00 ora_reco_ora1

oracle1645 1 0 13:58 ?00:00:00 ora_cjq0_ora1

oracle1647 1 0 13:58 ?00:01:18 ora_qmn0_ora1

oracle1649 1 0 13:58 ?00:00:00 ora_s000_ora1

oracle1651 1 0 13:58 ?00:00:00 ora_d000_ora1

-e : 在命令执行后显示环境

-f : 完整显示输出

•标为 C 的列是由 CPU 用于计算执行优先级的因子。

•STIME 是指进程的启动时间。

•问号表示这些进程不属于任何 TTY,因为它们是由系统启动的。

主要参数说明:

1) 进程用户ID(UID),

虽然 uid 通常是指数字型的标识,但在第一列下指定的是用户名,标记为 UID

2) 进程ID (PID)

3) 父进程ID (PPID)

PPID 是父进程的标识号。对于 Oracle 进程,这里的标识号为 1 — 它是 init 进程(所有进程的父进程)的 id,因为在本系统中安装的 Oracle 是作为登录进程的一部分而启动的

4) CPU 调度情况 (C)

即是是由 CPU 用于计算执行优先级的因子。

5) 进程启动的时间 (STIME)

6) 进程共占用CPU的时间(TIME)

7) 启动进程的命令 (CMD)

8)问号表示这些进程不属于任何 TTY,因为它们是由系统启动的。

 

使用PS命令分析系统性能的方法主要有:

1) 首先,根据用户ID寻找由同一用户执行的许多相似任务,这些任务很可能是因为用户运行的某个脚本程序在后台启动多个进程而造成的。

2) 接下来,检查TIME域中各进程累计占用CPU的时间,如果有某个进程累计占用了大量的CPU时间,通常说明该进程可能陷入了无限循环,或该京城的某写逻辑出了错

3) 找到那些已陷入死锁的进程ID后,就可以使用kill命令强制终止该进程了。

二:top命令

Ps 只为您提供当前进程的快照。要即时查看最活跃的进程,可使用 top。

Top 实时地提供进程信息。它还拥有交互式的状态,允许用户输入命令,如 n 后面跟有 5 或 10 等数字。其结果是指示 top 显示 5 或 10 个最活跃的进程。Top 持续运行,直到您按 "q" 退出 top 为止。

Top中的几个隐含参数:

top中按1键和F键的参数:

按1键可以等到多个cpu的情况

按F(f:当前状态,可以按相应的字母键做top的定制输出)后得参数:

对F键和f键的区别:

如果进入F键区可以做进程显示的排序,如果进入f键区的话则可以选择显示的多个项目:

* A: PID= Process Id//进程ID

b: PPID = Parent Process Pid//父进程ID

c: RUSER = Real user name//真正的(Real)所属用户名称

d: UID= User Id //用户ID

e: USER = User Name //用户名称

f: GROUP = Group Name //组名称

g: TTY= Controlling Tty //控制

h: PR = Priority //优先权

i: NI = Nice value//优先级得值(负数代表较高的优先级,正数是较低的优先级.0标志改优先级的值是不会被调整的)

j: #C = Last used cpu (SMP) //随后使用的cpu比率

k: %CPU = CPU usage //cpu使用比率

l: TIME = CPU Time //cpu占用时间

m: TIME+ = CPU Time, hundredths //cpu%比

n: %MEM = Memory usage (RES)//内存使用率

o: VIRT = Virtual Image (kb)//虚拟镜像(VIRT = SWAP + RES:所有进程使用的虚拟内存值,包括所有的代码,数据,共享库已经被swapped out的)

p: SWAP = Swapped size (kb) //交换空间大小(所有虚拟内存中的镜像)

q: RES= Resident size (kb)//已经使用了的常驻内存(Resident size):RES = CODE + DATA

r: CODE = Code size (kb)//分配给执行代码的物理内存

s: DATA = Data+Stack size (kb) //data+stack:物理内存中非存放代码的空间,用于存放数据

t: SHR= Shared Mem size (kb) //共享内存大小.放映了一个task的潜在可以供别人使用的内存的大小

u: nFLT = Page Fault count //内存叶错误的数量

v: nDRT = Dirty Pages count //脏页的数量

w: S = Process Status//进程状态:( R )为运行或可执行的,( S )为该程序正在睡眠中,( T )正在侦测或者是停止了,( Z )僵尸程序

x: COMMAND= Command name/line //进程启动命令行参数

y: WCHAN = Sleeping in Function //在睡眠中

z: Flags = Task Flags //任务标志

Note1:

If a selected sort field can't be shown due to screen width or your field order, the '<' and '>' keys

will be unavailable until a field within viewable range is chosen.

Note2:

Field sorting uses internal values, not those in column display. Thus, the TTY &WCHAN fields will violate strict ASCII collating sequence. (shame on you if WCHAN is chosen)

Current Fields: AEHIOQTWKNMbcdfgjplrsuvyzX for window 1:Def

Toggle fields via field letter, type any other key to return

* A: PID= Process Id

* E: USER = User Name

* H: PR = Priority

* I: NI = Nice value

* O: VIRT = Virtual Image (kb)

* Q: RES= Resident size (kb)

* T: SHR= Shared Mem size (kb)

* W: S = Process Status

* K: %CPU = CPU usage

* N: %MEM = Memory usage (RES)

* M: TIME+ = CPU Time, hundredths

b: PPID = Parent Process Pid

c: RUSER = Real user name

d: UID= User Id

f: GROUP = Group Name

g: TTY= Controlling Tty

j: #C = Last used cpu (SMP)

p: SWAP = Swapped size (kb)

l: TIME = CPU Time

r: CODE = Code size (kb)

s: DATA = Data+Stack size (kb)

u: nFLT = Page Fault count

v: nDRT = Dirty Pages count

y: WCHAN = Sleeping in Function

z: Flags = Task Flags

* X: COMMAND= Command name/line

Flags field:

0x00000001 PF_ALIGNWARN

0x00000002 PF_STARTING

0x00000004 PF_EXITING

0x00000040 PF_FORKNOEXEC

0x00000100 PF_SUPERPRIV

0x00000200 PF_DUMPCORE

0x00000400 PF_SIGNALED

0x00000800 PF_MEMALLOC

0x00002000 PF_FREE_PAGES (2.5)

0x00008000 debug flag (2.5)

0x00024000 special threads (2.5)

0x001D0000 special states (2.5)

0x00100000 PF_USEDFPU (thru 2.4)

您好,方法1、进入linux终端命令提示符下,此时无任何输出内容。2、输入“ls”回车,这时候会以最简洁的方式显示当前目录下的文件夹及文件,适用于想快速了解当前目录下有哪些文件,3、占用屏幕空间小,显示内容多。输入“ls -l”回车,这时候会以详细列表的方式显示所有内容,包括权限,用户,所属组,文件大小,名称,创建日期时间等。4、输入“ls -la”回车,这是一个选项组合,-a表示显示隐藏的文件,组合起来就是既显示详细列表,又显示隐藏文件。文件名称首字符为“.”表示一个隐藏文件。输入“ls -lah”回车,这次再加上一个选项,-h表示以合适的单位显示文件,普通情况下,linux都以字节数显示文件大小,很难一目了然知道。加上此选项之后,就会以KB,MB等我们熟悉且直观的单位显示文件大小了。5、最后,还有一个快速的简写命令,输入“ll”回车,显示内容同“ls -l”,很常用。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/8454573.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-16
下一篇2023-04-16

发表评论

登录后才能评论

评论列表(0条)

    保存