ps aux的“COMMAND”字段中的名字来自哪里?

我知道它显示带有参数的命令,或者当方括号中的命令不可用时。

但是名字来源于客运工作者ruby般的过程,这些过程显示为:

root@XXX:~# ps aux | grep Rails webuser 2273 0.0 3.2 86968 57500 ? S 17:38 0:00 Rails: /var/websites/app 

…我如何启动进程并设置这样的string?

我相信这是通过setProctitle函数完成的。

  #include <sys/types.h> #include <unistd.h> void setproctitle(const char *fmt, ...); The setproctitle() library routine sets the process title that appears on the ps(1) command. 

特别是对于Ruby,有一个关于这样做没有第三方库的stackoverflow后 。

通常你需要直接改变argv,这里是一个例子: http : //stupefydeveloper.blogspot.com/2008/10/linux-change-process-name.html