Получение pid процесса, не указанного в ps -ef

0

Я знаю, что есть процесс, называемый blt.plработающим на конкретной машине, но я не совсем уверен, какой пользователь его запускает.

Я пытался, ps -ef | grep -i blt.plно, очевидно, это не найти.

Есть ли способ для меня, чтобы получить pid blt.plпроцесса?

ealeon
источник

Ответы:

1

Вы действительно должны сказать, что ваша ОС; ваша ОС определяет (в значительной степени) ваш набор инструментов.

Тем не менее, большинство UNIXish вещей есть pgrep. Вы можете запустить это.

Если вы используете MacOS X или что-то еще BSDish, ps -efэто не то, что вам нужно. Попробуйте: ps -auwwx | grep bit.pl.

Вы можете сделать небольшое изменение этого в Linux: ps auwwx | grep bit.pl обратите внимание на отсутствие черты в Linux-версии команды.

Как уже говорили другие, это должно поднять ваш процесс. Если вы не видите его, как вы уверены, что он работает? Это запись в файл? Если это так, инструмент, как lsofили fuserможет помочь. Может быть, даже запуск lsofи grep'ping для bit.pl могут помочь.

Вы в основном говорите: «Моя вера в то, что этот код работает и не умер, когда я не обращал внимания, сильнее моей веры ps»

Единственное, о чем я могу подумать, это если ваш компьютер «принадлежит» - у вас есть модуль ядра, по какой-то причине скрывающий этот конкретный код. Если это так (возможно, но вряд ли это будет беспокоить сценарий Perl), вся ваша система теперь подвергается сомнению.

Рич Гомолка
источник
FWIW, OS X поддерживает синтаксис SYSV (-ef) и BSD (auxwww).
Алан Шутко
@AlanShutko Спасибо ... не знал. Это в PS по умолчанию или в некоторых GNU PS?
Rich Homolka
Это в BSD по умолчанию PS. Я не могу вспомнить, когда BSD начал поддерживать sysv-переключатели в ps, но я уверен, что это было очень давно. Отличается наличием дефиса в начале: тире означает sysv, без тире означает bsd. Интересно, что на странице man в OSX не упоминается синтаксис sysv, а перед опциями ставятся тире, что фактически не позволяет использовать синтаксис BSD. Страница man отмечает, что команда совместима с Single Unix Specification v3, которая похожа на sysv.
Алан Шутко
2

Что это за ОС? AFAIK, если процесс запущен, когда вы сделали 'ps -ef | grep -i blt.pl 'это должно появиться. Что это за процесс? Это очень короткий процесс? Если это так, вы можете контролировать с помощью некоторых сценариев.

Или, может быть, скрипт blt.pl запускает другую программу / скрипт и завершает работу. Если вы знаете, что делает скрипт, возможно, вы можете попытаться найти этот процесс.

Chandrasekar
источник