Я использую Putty для подключения моего сервера Linux, на котором находятся мои сайты. Я могу запустить
# ps aux | less
показать запущенные процессы. Но я хочу показать, какие файлы запускают эти процессы?
Я также пытался
# ps aux | grep <pid>
Но получаю эту ошибку:
-bash: syntax error near unexpected token `newline'
Как правильно это сделать?
linux
process
open-files
tshepang
источник
источник
grep <pid>
, вы должны заменить<pid>
свой фактический идентификатор процесса (это число).<pid>
это просто заполнитель, а не то, что вы должны ввести.Ответы:
ps aux | grep <pid>
не является командой оболочки Обозначение<pid>
является общим соглашением, означающим «поместить PID туда». Например, если PID 1234, вы запуститеps aux | grep 1234
. Это не очень полезная команда, вы можете запустить ееps u 1234
.Ваш вопрос не очень понятен. Что вы подразумеваете под «с именами файлов»? Если вы хотите увидеть, какой исполняемый файл запущен процессом 1234:
Если вы хотите увидеть, какие файлы открыты в этом процессе:
Если вы хотите увидеть полную командную строку с аргументами:
Если вы предпочитаете использовать команды,
lsof -p1234
показывает все файлы, которые открыт в процессе.ps uww 1234
показывает различную информацию о процессе 1234, включая полную командную строку.источник
попробуйте выполнить следующее:
источник
Прежде всего,
ps aux | grep <PID>
полезно, когда вы хотите показать детали для конкретного процесса, чейPID
(Идентификатор процесса) представлен как<PID>
.Например (
ps aux | grep 'firefox\|USER'
означает печать только строк, которые содержатfirefox
илиUSER
):Итак, PID для моего
firefox
экземпляра - 9021. Итак, чтобы использовать команду, которую вы пытаетесь запустить, я бы заменил<PID>
на9021
:Теперь я не уверен, что вы подразумеваете под «отображением, какие файлы запускают эти процессы». Если вы хотите показать, какие файлы используют эти процессы,
ps aux
это один из способов сделать это. Скажем, я открыл файл/usr/share/doc/nano/faq.html
с помощью этой команды:Я мог видеть, какой файл
firefox
открылся, используяps
:Открытый файл отображается как один из аргументов, передаваемых в Firefox. Обратите внимание, что PID отличается (теперь это
31763
вместо9021
), потому что каждая работающая программа имеет свой уникальный PID.Еще одна полезная команда
top
. Если вы запустите его с-c
переключателем, он покажет аргументы, переданные команде, а с-u <your user>
ним будут показаны только процессы, запущенные вашим именем пользователя (замените его<your user>
фактическим именем пользователя):Это вывод на моей локальной машине (пользователь
terdon
запускает только два процесса):Для объяснения информации, представленной
top
, см. Мой ответ на связанный вопрос по SU.источник
некоторые символы в оболочке для специального назначения, такие как <>? "; ...
grep PID бесполезен, потому что PID - это идентификатор процесса, и grep найдет похожее число ...
источник