首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么‘`ps’比‘`ps’显示更多的过程?

为什么‘`ps’比‘`ps’显示更多的过程?
EN

Unix & Linux用户
提问于 2021-12-28 17:37:35
回答 1查看 557关注 0票数 3

来自ps手册页:

默认情况下,ps作为当前用户选择具有相同有效用户ID (euid=EUID)的所有进程,并与调用方相关联。

在我的Ubuntu系统上,没有任何标志的ps提供了如下输出,如预期的那样:

代码语言:javascript
复制
$ ps
  PID TTY          TIME CMD
 6444 pts/11   00:00:00 bash
14605 pts/11   00:00:00 ps

现在,再次从输出修饰符中的ps手册页面:

代码语言:javascript
复制
e      Show the environment after the command.

但是,当我尝试ps e时,我得到了更多的进程列表:

代码语言:javascript
复制
$ ps e
  PID TTY      STAT   TIME COMMAND
   85 pts/1    Ss+    0:00 -bash HOSTTYPE=x86_64 LANG=C.UTF-8 PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:
  100 pts/2    Ss+    0:00 -bash HOSTTYPE=x86_64 LANG=C.UTF-8 PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:
  115 pts/3    Ss+    0:00 -bash HOSTTYPE=x86_64 LANG=C.UTF-8 PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:
  130 pts/4    Ss+    0:00 -bash HOSTTYPE=x86_64 LANG=C.UTF-8 PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:
  146 pts/5    Ss+    0:00 -bash HOSTTYPE=x86_64 LANG=C.UTF-8 PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:
  174 pts/6    Ss+    0:00 -bash HOSTTYPE=x86_64 LANG=C.UTF-8 PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:
 2988 pts/9    Ss     0:01 -bash HOSTTYPE=x86_64 LANG=C.UTF-8 PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:
 3477 pts/9    S+     0:00 vi stepniak.json SHELL=/bin/bash WSL_DISTRO_NAME=Ubuntu-20.04 WT_SESSION=55c420c4-12cf-4f4c-b957-b0b42e2777b8 JAVA_HOME=/home/myr
 4513 pts/0    Ss+    0:02 -bash HOSTTYPE=x86_64 LANG=C.UTF-8 PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:
 4540 pts/7    Ss+    0:00 -bash HOSTTYPE=x86_64 LANG=C.UTF-8 PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:
 5653 pts/10   Ss+    0:01 -bash HOSTTYPE=x86_64 LANG=C.UTF-8 PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:
 6444 pts/11   Ss     0:00 -bash HOSTTYPE=x86_64 LANG=C.UTF-8 PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:
 7942 pts/12   Ss     0:00 -bash HOSTTYPE=x86_64 LANG=C.UTF-8 PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:
17962 pts/12   Sl     0:03 /home/myroot/jdk-11.0.2/bin/java -classpath /mnt/c/k8s-developer/maven-3.6.3/boot/plexus-classworlds-2.6.0.jar -Dclassworlds.conf
17997 pts/11   R+     0:00 ps e SHELL=/bin/bash WSL_DISTRO_NAME=Ubuntu-20.04 WT_SESSION=7e85f66b-c77a-42da-8782-c0912c196b46 JAVA_HOME=/home/myroot/jdk-11.0
24958 pts/12   Sl     1:05 java -jar myapp.jar SHELL=/bin/bash WSL_DISTRO_NAME=Ubuntu-20.04 WT_SESSION=d9a61855-27fe-4757-a7c9-a38f38fe7fc7 JAVA
25185 pts/12   S+     0:03 tail -f nohup.out SHELL=/bin/bash WSL_DISTRO_NAME=Ubuntu-20.04 WT_SESSION=d9a61855-27fe-4757-a7c9-a38f38fe7fc7 JAVA_HOME=/home/my

据我所知,e是一个输出修饰符,它不应该更改用于选择流程的标准(这通常是用-ea等完成的)。

So为什么 ps e listing比ps**更多?**

注: ps -fps -F按预期工作-

代码语言:javascript
复制
$ ps -F
UID        PID  PPID  C    SZ   RSS PSR STIME TTY          TIME CMD
myroot    6444  6443  0  4333 12404   2 00:25 pts/11   00:00:00 -bash
myroot   19976  6444  0  2655  3340   7 23:05 pts/11   00:00:00 ps -F

我的操作系统信息:

代码语言:javascript
复制
$ cat /etc/*rel*
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=20.04
DISTRIB_CODENAME=focal
DISTRIB_DESCRIPTION="Ubuntu 20.04.3 LTS"
NAME="Ubuntu"
VERSION="20.04.3 LTS (Focal Fossa)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 20.04.3 LTS"
VERSION_ID="20.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=focal
UBUNTU_CODENAME=focal
EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2021-12-28 18:44:50

ps e使用BSD样式选项(遵循procps名称),还有这个

还将更改进程选择,以包括您拥有的其他终端(TTY)上的进程。

e选项本身不会更改所选内容,但它会更改为默认选择包括当前和其他终端上的所有进程的模式。

其他BSD风格的输出控制选项具有相同的效果;例如,请参见ps lps u

票数 4
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/684195

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档