Есть несколько способов сделать это; вы можете перечислить все процессы и найти те, которые соответствуют имени исполняемого файла, который вас интересует; или вы можете перечислить все запущенные процессы, которые открыли этот конкретный исполняемый файл.
Например:
# list all processes, grep by filename $ ps -ef | grep firefox ...(lots of output, need to cut/filter)... # more specific, e.g., maybe there's also /opt/bin/firefox $ ps -ef | grep /usr/lib/firefox/firefox ....
(Примечание: в приведенном выше примере вам нужно добавить, grep -v grep
если это сценарий. Просто добавьте этот пример для базового исследовательского анализа.)
Пример встроенного, который делает то же самое (в основном):
$ pidof firefox 5915 5892 5851 5809 5753 5509 # more specific $ pidof /usr/lib/firefox/firefox 5915 5892 5851 5809 5753 5509
Это также может непреднамеренно перечислить различные исполняемые файлы с одинаковыми именами, поэтому требуется некоторая осторожность. Но у него действительно хороший, краткий вывод, отличный для написания сценариев.
Наконец, довольно надежный вариант - перечислить открытые файлы ( lsof
) и найти соответствующие процессы, которые их открывают (исполняемый файл «открыт для чтения» во время работы):
# note: sudo not always necessary, but might be $ lsof /usr/lib/firefox/firefox ...