导航:首页 > 程序命令 > ps命令中pid和ppid

ps命令中pid和ppid

发布时间:2023-03-06 00:44:02

linux ps查看进程显示的是用户ID,不是用户名是怎么回事

使用ps命令时,发现部分用户显示的是用户名,有些用户显示的是UID,例如nmon程序的运行时webmaster,但是ps显示的不是直接显示uid 500。

通过man发现:8位用户名的账户能够显示完整的用户名,9位用户名的账户就显示了UID使用下面的命令来解决;

ps -o ruser=userForLongName -e -o pid,ppid,c,stime,tty,time,cmd

注意:“userForLongName”是随便填写的,Linux会自动检查此字符串的长度,为15,则15位以下的用户名都可以正常显示。

② 利用ps命令查看进程时,主要输出项pid表示什么,tty表示什么

PID 进程编号 TTY 与进程关联的终端
%CPU 进程的cpu占用率
%MEM 进程的内存占用率
VSZ 进程所使用的虚存的大小
RSS 进程使用的驻留集大小或者是实际内存的大小
TTY 与进程关联的终端(tty)
STAT 检查的状态:进程状态使用字符表示的,如R(running正在运行或准备运行)、S(sleeping睡眠)、I(idle空闲)、Z (僵死)、D(不可中断的睡眠,通常是I/O)、P(等待交换页)、W(换出,表示当前页面不在内存)、N(低优先级任务)T(terminate终止)、W has no resident pages
START (进程启动时间和日期)
TIME ;(进程使用的总cpu时间)
COMMAND (正在执行的命令行命令)
NI (nice)优先级
PRI 进程优先级编号
PPID 父进程的进程ID(parent process id)
SID 会话ID(session id)
WCHAN 进程正在睡眠的内核函数名称;该函数的名称是从/root/system.map文件中获得的。

③ Linux ps命令:用于显示当前进程 (process) 的状态

ps [options] [—help]

ps [-aAcdefHjlmNVwy][acefghLnrsSTuvxX][-C <指令名称>][-g <群组名称>]

[-G <群组识别码>][-p <进程识别码>][p <进程识别码>][-s <阶段作业>]

[-t <终端机编号>][t <终端机编号>][-u <用户识别码>][-U <用户识别码>]

[U <用户名称>][-<进程识别码>][--cols <每列字符数>]

[--columns <每列字符数>][--cumulative][--deselect][--forest]

[--headers][--help][-- info][--lines <显示列数>][--no-headers]

[--group <群组名称>][-Group <群组识别码>][--pid <进程识别码>]

[--rows <显示列数>][--sid <阶段作业>][--tty <终端机编号>]

[--user <用户名称>][--User <用户识别码>][--version]

[--width <每列字符数>]

       -a  显示所有终端机下执行的进程,除了阶段作业领导者之外

a  显示现行终端机下的所有进程,包括其他用户的进程

-A  显示所有进程

-c  显示CLS和PRI栏位

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

-C<指令名称> 指定执行指令的名称,并列出该指令的进程的状况

-d 显示所有进程,但不包括阶段作业领导者的进程

-e 此参数的效果和指定"A"参数相同

e 列出进程时,显示每个进程所使用的环境变量

-f 显示UID,PPIP,C与STIME栏位

f 用ASCII字符显示树状结构,表达进程间的相互关系

-g<群组名称> 此参数的效果和指定"-G"参数相同,当亦能使用阶段作业领导者的名称来指定

g 显示现行终端机下的所有进程,包括群组领导者的进程

-G<群组识别码> 列出属于该群组的进程的状况,也可使用群组名称来指定

h 不显示标题列

-H 显示树状结构,表示进程间的相互关系

-j或j 采用工作控制的格式显示进程状况

-l或l 采用详细的格式来显示进程状况

L 列出栏位的相关信息

-m或m 显示所有的执行绪

n 以数字来表示USER和WCHAN栏位

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

-p<进程识别码> 指定进程识别码,并列出该进程的状况

   p<进程识别码> 此参数的效果和指定"-p"参数相同,只在列表格式方面稍有差异

r 只列出现行终端机正在执行中的进程

-s<阶段作业> 指定阶段作业的进程识别码,并列出隶属该阶段作业的进程的状况

    s 采用进程信号的格式显示进程状况

S 列出进程时,包括已中断的子进程资料

-t<终端机编号> 指定终端机编号,并列出属于该终端机的进程的状况

t<终端机编号> 此参数的效果和指定"-t"参数相同,只在列表格式方面稍有差异

-T 显示现行终端机下的所有进程

-u<用户识别码> 此参数的效果和指定"-U"参数相同

u 以用户为主的格式来显示进程状况

-U<用户识别码> 列出属于该用户的进程的状况,也可使用用户名称来指定

U<用户名称> 列出属于该用户的进程的状况

v 采用虚拟内存的格式显示进程状况

-V或V 显示版本信息

-w或w 采用宽阔的格式来显示进程状况。

   x 显示所有进程,不以终端机来区分

   X 采用旧式的Linux i386登陆格式显示进程状况

   -y 配合参数"-l"使用时,不显示F(flag)栏位,并以RSS栏位取代ADDR栏位

-<进程识别码> 此参数的效果和指定"p"参数相同

--cols<每列字符数> 设置每列的最大字符数

--columns<每列字符数> 此参数的效果和指定"--cols"参数相同

--cumulative 此参数的效果和指定"S"参数相同

--deselect 此参数的效果和指定"-N"参数相同

--forest 此参数的效果和指定"f"参数相同

--headers 重复显示标题列

--help 在线帮助

--info 显示排错信息

--lines<显示列数> 设置显示画面的列数

--no-headers  此参数的效果和指定"h"参数相同,只在列表格式方面稍有差异

--group<群组名称> 此参数的效果和指定"-G"参数相同

--Group<群组识别码> 此参数的效果和指定"-G"参数相同

--pid<进程识别码> 此参数的效果和指定"-p"参数相同

--rows<显示列数> 此参数的效果和指定"--lines"参数相同

--sid<阶段作业> 此参数的效果和指定"-s"参数相同

--tty<终端机编号> 此参数的效果和指定"-t"参数相同

--user<用户名称> 此参数的效果和指定"-U"参数相同

--User<用户识别码> 此参数的效果和指定"-U"参数相同

--version 此参数的效果和指定"-V"参数相同

       --widty<每列字符数> 此参数的效果和指定"-cols"参数相同

       -A 列出所有的行程

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

      -au 显示较详细的资讯

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

linux上进程有5种状态: 

1. 运行(正在运行或在运行队列中等待) 

2. 中断(休眠中, 受阻, 在等待某个条件的形成或接受到信号) 

3. 不可中断(收到信号不唤醒和不可运行, 进程必须等待直到有中断发生) 

4. 僵死(进程已终止, 但进程描述符存在, 直到父进程调用wait4()系统调用后释放) 

5. 停止(进程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信号后停止运行运行) 

ps工具标识进程的5种状态码: 

D 不可中断 uninterruptible sleep (usually IO) 

R 运行 runnable (on run queue) 

S 中断 sleeping 

T 停止 traced or stopped 

Z 僵死 a defunct (”zombie”) process 

1、# ps aux //显示所有正在内存中的程序

USER:该 process 属于那个使用者账号的

PID :该 process 的号码

%CPU:该 process 使用掉的 CPU 资源百分比

%MEM:该 process 所占用的物理内存百分比

VSZ :该 process 使用掉的虚拟内存量 (Kbytes)

RSS :该 process 占用的固定的内存量 (Kbytes)

TTY :该 process 是在那个终端机上面运作,若与终端机无关,则显示 ?,另外, tty1-tty6 是本机上面的登入者程序,若为 pts/0 等等的,则表示为由网络连接进主机的程序。

STAT:该程序目前的状态,主要的状态有

R :该程序目前正在运作,或者是可被运作

S :该程序目前正在睡眠当中 (可说是 idle 状态),但可被某些讯号 (signal) 唤醒。

D: 无法中断的休眠状态 (通常 IO 的进程)

T :该程序目前正在侦测或者是停止了

Z :该程序应该已经终止,但是其父程序却无法正常的终止他,造成 zombie (疆尸) 程序的状态

<: 高优先序的行程

N: 低优先序的行程

L: 有记忆体分页分配并锁在记忆体内 (实时系统或捱A I/O)

START:该 process 被触发启动的时间

TIME :该 process 实际使用 CPU 运作的时间

COMMAND:该程序的实际指令

2、# ps -A 显示进程信息

3、# ps -u work //显示work进程用户信息

4、# ps -ef //显示所有命令,连带命令行

5、# ps -l //将属于自己这次登入的pid与相关信息显示出来

F:代表这个程序的旗标 (flag), 4 代表使用者为 super user

S:代表这个程序的状态 (STAT)

UID:程序被该 UID 所拥有

PID:就这个程序的 ID 

PPID:其上级父程序的ID

C:CPU使用的资源百分比

PRI: Priority (优先执行序) 的缩写

NI: Nice 值

ADDR:kernel function,指出该程序在内存的那个部分。如果是个 running的程序,一般就是 "-"

SZ:使用掉的内存大小

WCHAN:目前这个程序是否正在运作当中,若为 - 表示正在运作

TTY:登入者的终端机位置

TIME:使用掉的 CPU 时间。

CMD:所下达的指令为何

在预设的情况下, ps 仅会列出与目前所在的 bash shell 有关的 PID,所以, 当使用 ps -l 的时候,只有三个 PID。

6、其他

1)可以用 | 管道和 more 连接起来分页查看

命令:ps -aux |more

2)把所有进程显示出来,并输出到ps001.txt文件

命令:ps -aux > ps001.txt

3)输出指定的字段

命令:ps -o pid,ppid,pgrp,session,tpgid,comm

④ Linux下面ps -o是什么意思

ps命令的-o参数,是说明用户自定义格式。比如-o pid= -o cmd= 就是让ps命令分别显示进程的pid和相应的命令和详细参数,这样ps命令就不会像默认的那样显示很多其他内容了,而只显示你关心的部分。如下图所示:

⑤ linux命令中ps -ef详解

1、ps -ef表示查看全格式的全部进程。

ps是linux下最常用的也是非常强大的进程查看命令,常配合管道命令 | 和查找命令 grep 同时执行来查看特定进程。

参数含义:

-e 显示所有进程。-f 全格式。-h 不显示标题。-l 长格式。-w 宽输出。a 显示终端上的所有进程,包括其他用户的进程。r 只显示正在运行的进程。x 显示没有控制终端的进程。

2、(5)ps命令中pid和ppid扩展阅读:

进程状态:

R 运行,正在运行或在运行队列中等待。

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

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

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

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

3、grep命令是查找

中间的|是管道命令 是指ps命令与grep同时执行

PS是LINUX下最常用的也是非常强大的进程查看命令

grep命令是查找,是一种强大的文本搜索工具,它能 使用正则表达式 搜索文本,并把匹配的行打印出来。

grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。

以下这条命令是检查java 进程是否存在:ps -ef |grep java

字段含义如下:

UID       PID       PPID      C     STIME    TTY       TIME         CMD

zzw      14124   13991      0     00:38      pts/0      00:00:00    grep --color=auto dae

UID      :程序被该 UID 所拥有

PID      :就是这个程序的 ID 

PPID    :则是其上级父程序的ID

C          :CPU使用的资源百分比

STIME :系统启动时间

TTY     :登入者的终端机位置

TIME   :使用掉的CPU时间。

CMD   :所下达的是什么指令

ps -e|grep dae

⑥ 【ps】关于Linux ps命令的妙用

How to get all process ids without ps command on Linux?

On Linux, all running process have "metadata" stored in the  /proc filesystem .

# man  ps  

# ps -C sshd --no-header

# ps -C dockerd --no-header

-C cmdlist

Select by command name.  This selects the processes whose executable name is given in cmdlist.

you can use the long options --headers and --no-headers to enable printing headers each page or disable headers entirely, respectively.

#  ps -eo nlwp,pcpu,user,pid,ppid,args  --sort nlwp  

注:以 nlwp排序,默认正序

LWP -- 轻量级进程,即线程

NLWP --线程数,即 number of threads in process

#  ps -eo pid,cmd,%mem,%cpu --sort=-%mem

Thecommand is highly valuable for system admins ring troubleshooting the system. 

You can display the processes list in a sorted manner to find out the highest memory usage processes.

#  ps -mp   ${pid}    -o   THREAD,tid,time

参数解释:

   -m:显示所有的线程

   -p:pid进程使用CPU的时间

   -o:该参数后是用户自定义格式。

  如:THREAD,tid,time表示线程、线程ID号、线程占用的时间。

$ ps -Hp   ${pid}  

ps(1) — Linux manual page

https://man7.org/linux/man-pages/man1/ps.1.html

Linux PS command with examples

https://www.fosslinux.com/43296/linux-ps-command-with-examples.htm

How to get all process ids without ps command on Linux?

https://stackoverflow.com/questions/32913424/how-to-get-all-process-ids-without-ps-command-on-linux

What is the difference between ps and top command?

https://unix.stackexchange.com/questions/62176/what-is-the-difference-between-ps-and-top-command

⑦ linux 下查看进程用什么命令

linux 下查看进程可以使用的命令:

1、ps命令查找与进程相关的PID号:

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

3、ps -A 显示所有程序。

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

5、ps -e 此参数的效果和指定"A"参数相同。

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

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

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

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

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

11、ps S 列出程序时,包括已中断的子程序资料。

12、ps -t<终端机编号> 指定终端机编号,并列出属于该终端机的程序的状况。

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

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

阅读全文

与ps命令中pid和ppid相关的资料

热点内容
linux查看文件权限命令 浏览:685
安卓手游存档怎么用 浏览:761
linuxyum安装ftp 浏览:690
村委会主任可以推行政命令吗 浏览:102
电脑文件夹封面多张图片 浏览:263
网吧总服务器叫什么 浏览:922
多个算法解决同一个问题 浏览:455
小车解压后我的购车发票呢 浏览:977
做app开发用什么云服务器 浏览:177
linux网卡子接口 浏览:985
21岁职高毕业学程序员怎么学 浏览:321
vs如何对单个文件编译 浏览:6
为什么有的电脑不能安装python 浏览:75
金蝶迷你版加密狗检测到过期 浏览:186
硬件描述语言编译结果 浏览:655
程序员逆天改命 浏览:19
金斗云服务器 浏览:447
港口工程pdf 浏览:770
程序设计语言pdf 浏览:434
蔬菜价格上涨算法 浏览:221