linux ps aux 命令解释

linux 进程5种状态:
1. 运行(正在运行或在运行队列中等待)
2. 中断(休眠中, 受阻, 在等待某个条件的形成或接受到信号)
3. 不可中断(收到信号不唤醒和不可运行, 进程必须等待直到有中断发生)
4. 僵死(进程已终止, 但进程描述符存在, 直到父进程调用wait4()系统调用后释放)
5. 停止(进程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信号后停止运行运行)

ps 部分选项:
  a 显示现行终端机下的所有程序,包括其他用户的程序。
-A 显示所有程序。
 c 列出程序时,显示每个程序真正的指令名称,而不包含路径,参数或常驻服务的标示。
-e 此参数的效果和指定"A"参数相同。
 e 列出程序时,显示每个程序所使用的环境变量。
 f 用ASCII字符显示树状结构,表达程序间的相互关系。
-H 显示树状结构,表示程序间的相互关系。
-N  显示所有的程序,除了执行ps指令终端机下的程序之外。
 s  采用程序信号的格式显示程序状况。
 S  列出程序时,包括已中断的子程序资料。
-t  <终端机编号>  指定终端机编号,并列出属于该终端机的程序的状况。
 u  以用户为主的格式来显示程序状况。
 x  显示所有程序,不以终端机来区分。
-l  較長,較詳細的顯示該PID的信息

# ps -lA
F S   UID   PID  PPID  C PRI  NI ADDR SZ WCHAN  TTY          TIME CMD
4 S     0     1     0  0  75   0 -   518 -      ?        00:00:39 init
1 S     0     2     1  0 -40   - -     0 migrat ?        00:00:00 migration/0
1 S     0     3     1  0  94  19 -     0 ksofti ?        00:01:34 ksoftirqd/0
5 S     0     4     1  0 -40   - -     0 watchd ?        00:00:03 watchdog/0
1 S     0     5     1  0  70  -5 -     0 worker ?        00:00:54 events/0
1 S     0     6     1  0  70  -5 -     0 worker ?        00:00:00 khelper
5 S     0     7     1  0  78  -5 -     0 worker ?        00:00:00 kthread
1 S     0    10     7  0  75  -5 -     0 worker ?        00:00:12 kblockd/0
1 S     0    11     7  0  80  -5 -     0 worker ?        00:00:00 kacpid
1 S     0    78     7  0  80  -5 -     0 worker ?        00:00:00 cqueue/0
1 S     0    81     7  0  70  -5 -     0 hub_th ?        00:00:00 khubd
... ...

   进程标记,4表示超级用户,见下文 process flags
   进程状态,见下文 process state codes
UID    用户ID
PID    进程ID
PPID    父进程ID
C    cpu 使用率
PRI    优先级
NI    进程的 nice 值,数值大,表示较少占用CPU时间
ADDR    该进程在内存哪部分,'-' 表示运行中的进程
SZ    用掉内存的大小
WCHAN    当前进程是否在运行,'-' 表示正在运行
TTY    登录者的终端位置
TIME    用掉 cpu 的时间
CMD    所运行的命令

# ps aux
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.1   2072   616 ?        Ss   Jan04   0:39 init [5]
root         2  0.0  0.0      0     0 ?        S<   Jan04   0:00 [migration/0]
root         3  0.0  0.0      0     0 ?        SN   Jan04   1:34 [ksoftirqd/0]
root         4  0.0  0.0      0     0 ?        S<   Jan04   0:03 [watchdog/0]
root         5  0.0  0.0      0     0 ?        S<   Jan04   0:54 [events/0]
root         6  0.0  0.0      0     0 ?        S<   Jan04   0:00 [khelper]
root         7  0.0  0.0      0     0 ?        S<   Jan04   0:00 [kthread]
root        10  0.0  0.0      0     0 ?        S<   Jan04   0:12 [kblockd/0]
root        11  0.0  0.0      0     0 ?        S<   Jan04   0:00 [kacpid]
... ...

USER    进程的属主
PID    进程ID
PPID    父进程
%CPU    进程占用的CPU百分比
%MEM    占用内存的百分比
VSZ    该进程使用的虚拟内存量(KB)
RSS    该进程占用的固定内存量(KB)(驻留中页的数量)
TTY    该进程在哪个终端上运行(登录者终端的位置),若是与终端无关,则显示 '?',若为 ‘pts/0' 等,则表示由网络连接主机的进程
START    该进程被触发启动的时间
TIME    该进程实际使用 cpu 运行的时间
COMMAND    命令的名称和参数

process flags
The sum of these values is displayed in the "F" column, which is provided by the flags output specifier.
1    forked but didn’t exec
4    used super-user privileges // 超级用户

process state codes
Here are the different values that the s, stat and state output specifiers (header "STAT" or "S") will display to describe the state of a
process.
D    Uninterruptible sleep (usually IO) // 无法中断的休眠状态(通常 IO 的进程)
R    Running or runnable (on run queue) // 正在运行或运行在队列中的
S    Interruptible sleep (waiting for an event to complete) // 处于休眠状态
T    Stopped, either by a job control signal or because it is being traced. // 由作业控制信号或正在跟踪而停止的状态
W    paging (not valid since the 2.6.xx kernel) // 进入内存交换 (从内核2.6开始无效)
X    dead (should never be seen) // 死掉的进程(基本很少見)
   Defunct ("zombie") process, terminated but not reaped by its parent. // 僵尸进程,终止而又未被父进程回收的进程。

For BSD formats and when the stat keyword is used, additional characters may be displayed:
<    high-priority (not nice to other users) // 高优先级
N    low-priority (nice to other users) // 低优先级
L    has pages locked into memory (for real-time and custom IO) // 有些页被锁进内存(用于实时或自定义IO)
s    is a session leader // 最初会话(该进程之下有子进程)
   is multi-threaded (using CLONE_THREAD, like NPTL pthreads do) // 多线程
+    is in the foreground process group // 后台的进程组

reference link:
ps aux详解(进程状态说明)_huangmr的专栏-CSDN博客

ps -aux命令用于查看系统的进程信息。在Linux系统中,该命令提供了对进程的一次性快照,可以查看系统中正在运行的进程、结束的进程、僵尸进程以及占用资源过多的进程等信息。 该命令的语法格式为:ps -aux。 其中,-a选项表示显示所有用户的进程信息,不仅仅是当前用户的进程;-u选项表示显示详细的进程信息,包括进程的用户、进程ID、CPU使用率、内存使用情况等等。-x选项表示显示没有控制终端的进程。 通过使用ps -aux命令,我们可以获取到系统中所有进程的详细信息。对于需要进行进程监控的需求,ps命令是一个很有用的工具。通过该命令,我们可以了解到系统中正在运行的进程的状态,以及它们所占用的资源情况,方便我们进行系统的调优和管理。 如果需要进一步筛选特定的进程信息,可以使用管道符号(|)将ps命令与其他命令结合使用。例如,ps -aux | grep test.py | grep "python3" | cut -d " " -f 1,6,8,10,11,12,13,21,24,26,27,28,29可以通过grep命令和cut命令来筛选出特定进程的信息,其中"test.py"表示进程名称,"python3"表示进程命令,-d选项表示字段分隔符,-f选项表示需要显示的字段。 总结来说,linux ps -aux命令用于查看系统的进程信息,通过结合其他命令可以进行进一步的筛选和监控。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值