为什么ps的下面两条命令给出了不同的`CMD`字段?

Tim*_*Tim 0 ps

为什么ps的下面两个命令给出不同的CMD字段?这很重要,因为screenSCREEN是不同的:第一是客户,第二是服务器。谢谢。

$ ps -A | grep -i screen
 3341 ?        00:00:00 screen
 3875 ?        00:00:00 screen
27525 ?        00:00:00 screen
$ ps -Af | grep -i screen
testme    3341     1  0  2018 ?        00:00:00 SCREEN -S testme
testme    3875     1  0  2018 ?        00:00:00 SCREEN -S tm
t        27525     1  0  2018 ?        00:00:00 SCREEN -S test
Run Code Online (Sandbox Code Playgroud)

SCREEN不是程序,那为什么显示在ps

$ SCREEN
SCREEN: command not found
Run Code Online (Sandbox Code Playgroud)

Mic*_*mer 6

screen重命名其主要(服务器)进程SCREEN以将其与以后的客户端区分开来。

这在手册页中有一次非常间接地提到:

请注意,此命令仅正确影响主“SCREEN”进程的调试输出。附加程序进程的调试输出只能永远关闭一次。

但是,奇怪的是,在我能看到的任何地方都没有明确提到。

psps -f为 CMD 显示不同的内容:可执行文件名称(ps“command”格式说明符)和重建的命令行(ps -f“args”格式说明符)。后者使用进程的 ARGV 并查看对它的更改,而可执行文件名称本身未更改。