Назад | Перейти на главную страницу

Откуда взялось имя в поле «КОМАНДА» в «ps aux»?

Насколько я понимаю, он отображает команду с аргументами или, когда команда недоступна, в квадратных скобках.

Но откуда берутся имена для таких процессов, как экземпляры ruby ​​пассажирских рабочих, которые отображаются как:

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

... а как запустить процессы и задать такую ​​строку?

Я считаю, что это делается с помощью функции 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