ps 中 postgres 进程旁边的这些注释是什么?

ps 中 postgres 进程旁边的这些注释是什么?

当您运行 Postgres 数据库并检查所有进程时,ps您会看到注释,这些注释很可能既不是执行程序的名称,也不是其参数。它们是什么?

 $ ps ax | grep [p]ostgres:
 1066 ?        Ss     0:00 postgres: checkpointer process                                                                                
 1067 ?        Ss     0:00 postgres: writer process                                                                                      
 1068 ?        Ss     0:00 postgres: wal writer process                                                                                  
 1069 ?        Ss     0:00 postgres: autovacuum launcher process                                                                         
 1070 ?        Ss     0:00 postgres: stats collector process  

我不确定这是否特定于 Postgres。

答案1

任何程序都可以改变ps调用它的程序,请参阅man 3 setproctitle

NAME
     setproctitle — set process title

LIBRARY
     Utility functions from BSD systems (libbsd, -lbsd)

SYNOPSIS
     #include <sys/types.h>
     #include <bsd/unistd.h>

     void
     setproctitle_init(int argc, char *argv[], char *envp[]);

     void
     setproctitle(const char *fmt, ...);

DESCRIPTION
     The setproctitle() library routine sets the process title that appears on
     the ps(1) command.

相关内容