Как перечислить весь текущий процесс Unix в деталях?

Вы пытались отключить STP?

-3
задан 20 May 2012 в 05:27
2 ответа

Список всех запущенных процессов можно сгенерировать с помощью инструмента ps , например:

# ps -ef 
UID        PID  PPID  C STIME TTY          TIME CMD
root         1     0  0 May16 ?        00:00:01 /sbin/init
root         2     0  0 May16 ?        00:00:00 [kthreadd]
root         3     2  0 May16 ?        00:00:55 [ksoftirqd/0]
root         6     2  0 May16 ?        00:00:00 [migration/0]

... snip ...

, чтобы увидеть, какие файлы в настоящее время открыты для ВСЕГО процесса, который вы можете сделать;

 # lsof -P | grep REG
 .... lots of output

если вы хотите, чтобы все файлы открывались какой-то конкретной службой, например httpd, вы можете сделать что-то вроде этого;

#  ps axo comm,pgrp | grep httpd
httpd           15791

, а затем используйте этот идентификатор группы процессов, чтобы выбрать все файлы, открытые httpd и его дочерними элементами, например:

# lsof -P -g 15791 | grep REG
httpd   24774 15791 apache  mem    REG    253,0     15104   141783 /lib64/libcom_err.so.2.1
httpd   24774 15791 apache  mem    REG    253,0    177680   171892 /lib64/libk5crypto.so.3.1
httpd   24774 15791 apache  mem    REG    253,0    911816   171937 /lib64/libkrb5.so.3.3
... snip
2
ответ дан 5 December 2019 в 21:57

запустите верхнюю команду и затем нажмите c

Будет выведен список, какая команда выполняется для процесса.

Кроме этого, вы всегда можете перенаправить всю информацию о запущенном процессе сверху в файл

top -b -c -M>

Это перечислит все процессы с командой и памятью в МБ, чтобы у вас был чистый вывод.

Кроме того, вы можете поместить эту команду в сценарий и запустить это в соответствии с вашими потребностями через cron.

Спасибо .. Сандип

0
ответ дан 5 December 2019 в 21:57

Теги

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