Параметры командной строки rackup не показывают в выводе PS или procfs

Если у Вас есть достаточно пространства, можно взять изображение tar файловой системы и создать резервную копию его. Затем создайте новый ext4 раздел с более высоким или понизьте количество inode по мере необходимости. Взятие изображения tar и форматирование Вашего раздела добавляют преимущество дефрагментации его также.

Я знаю, что ext4, как предполагается, не нужен он, но неважно как трудно Вы пробуете после такого использования это будет нуждаться в нем или по крайней мере обеспечивать увеличение скорости в какой-то момент. Ext4 только мешает фрагментировать Ваш диск и все еще извлек бы выгоду из этого о каждом 1 - 3 годах. Большая проблема здесь состоит в том, что tar отображает и переформатировал, единственный способ, которым я услышал о дефрагментировать ext4 раздел.

3
18.10.2013, 00:42
3 ответа

Вы не заявили свою ОС, и ps является довольно определенным для ОС (и по поводу Linux, конкретное распределение). И Linux и FreeBSD, по крайней мере, соответствуют Вашему использованию /proc. ps -e выводы только comm (возможно усеченная "команда") не аргументы.

На Linux или *BSD пробуют за ps:

ps axwwo "pid ppid uid comm args"

args поле, в котором Вы, вероятно, нуждаетесь, и двойные "w" опции позволяют "неограниченную ширину" вывода. Полный путь может превысить свободное место (ps предпочитает одну строку для каждого процесса, и проверяет Вашу терминальную ширину), таким образом, Вы будете не обязательно видеть полный путь или аргументы.

Однако Ваше использование /proc/xx/cmdline корректно, просто нет никаких аргументов.

Вторая проблема, вероятно, является результатом rackup так как исполняемый файл является сценарием оболочки, я предполагаю, что сценарий является недолгим и что аргументы высосаны в Ruby ARGV. Можно попробовать

strace -rf -e trace=process rackup ...

видеть, что происходит.

Необходимо смочь использовать rackup's -P или --pid опция записать файл PID для каждого экземпляра, затем можно контролировать и отличить определенные экземпляры, если это - то, что Вы пытаетесь сделать.

В целом, хотя pgrep или pidof лучшие инструменты для идентификации процессов по имени и/или аргументов.

2
27.01.2020, 21:28
  • 1
    Вывод для strace отправляется выше. Поскольку я понимаю rackup выполнения ruby , это заменяет родителя rackup- процесс с собой и очищается rackup имя от PS произвело. Я иду правильный образ мыслей? –  coldday 17.10.2013, 14:18
  • 2
    Да, execve() заменяет рабочий процесс, записи таблицы процессов (имя и args) обновляются соответственно. Вы видите, что аргументы передаются ruby. Если Вы не видите аргументы в ps или proc для рубинового процесса затем возможно, это - overwrittn: оба могут быть изменены самим процессом, даже в Ruby). Это является наиболее часто используемым к состоянию показа или текущим запросам. Корректный –  mr.spuratic 17.10.2013, 15:23
  • 3
    Теперь, я вижу, спасибо –  coldday 17.10.2013, 17:09

Необходимо определенно начать читать страницы справочника. Пример от man ps (страница справочника онлайн):

-f     Do full-format listing. This option can be combined with many other UNIX-style options to add additional columns.  It also causes the command arguments to be printed.  When
       used with -L, the NLWP (number of threads) and LWP (thread ID) columns will be added.  See the c option, the format keyword args, and the format keyword comm.

Таким образом попытайтесь работать ps -ef | grep rackup ;-)

0
27.01.2020, 21:28
  • 1
    я считал его определенно. $ ps -ef | grep rack | grep -v grep Вывод: 501 19895 374 0 12:43 ttys001 0:01.05 /home/user/.rvm/gems/ruby-1.9.3-p429@gearup/bin/rackup –  coldday 17.10.2013, 11:45

Конечно, программы могут получить доступ (измените и удалите), их аргументы. Это считают средством защиты, особенно когда имена пользователей, пароли и другая уязвимая информация могли бы быть выставлены. Адреса, порты, ключи общей памяти и другую информацию можно считать чувствительными также.

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

0
27.01.2020, 21:28

Теги

Похожие вопросы