Страницы

Поиск по вопросам

воскресенье, 9 февраля 2020 г.

Вывод информации о процессе

#linux #bash #terminal


Допустим есть процесс firefox(pid 5059)
Как вывести с помощью ps владельца этого процесса, аргументы с которыми был запущен
этот процесс, группу владельца этого процесса и т.д.

ps -eo user, ? , ? | grep firefox 
    


Ответы

Ответ 1



владельца этого процесса, аргументы с которыми был запущен этот процесс, группу владельца этого процесса для процесса номер 5059: $ ps -o user,args,group -p 5059 для процессов, выполняющих файл с именем firefox: $ ps -o user,args,group -C firefox и т.д. см. секцию STANDARD FORMAT SPECIFIERS в man ps.

Ответ 2



Как вариант, если есть права root. ~# find /proc/5059 -type f -print0 2>/dev/null | xargs -0 cat Выведет всю "сырую" информацию о процессе. ~# cat /proc/5059/cmdline Покажет какая команда была запущена в этом процессе, с полным путем до неё. ~# find /proc/[0-9]* -type f -print0 2>/dev/null | xargs -0 grep "firefox" Пройтись по всем процессам и найти файлы, где фигурирует firefox (активное использование философии UNIX). Утилита ps формирует вывод как раз из псевдо файловой системы /proc. ~# strace ps 2>&1 | grep "open" | grep -oP "(?<=open\(\")/[a-z]+/" | sort | uniq -c | sort -nr 584 /proc/ 9 /usr/ 1 /sys/ 1 /etc/ Часто использую в рабочем процессе. ~$ ps aux | grep [f]irefox sharlat+ 2736 1.0 4.5 3659672 735104 tty2 Sl+ Jun29 89:31 /usr/lib64/firefox/firefox To see every process on the system using BSD syntax: ps ax ps axu - grep [f]irefox - хак, убрать из поиска процесс grep. Ссылки https://github.com/Hellseher/cix/blob/master/spices/cix-procps-ng.org http://rus-linux.net/lib.php?name=/MyLDP/proc/fs-proc.html

Комментариев нет:

Отправить комментарий