Когда я ps -ef|grep python
получаю следующее:
myusername 4492 2994 0 10:32 pts/0 00:00:01 /home/myusername/.virtualenvs/myproject/bin/ipython manage.py runserver
root 6665 1 0 10:42 ? 00:00:00 /usr/bin/python /usr/lib/system-service/system-service-d
myusername 14051 13497 0 11:28 pts/7 00:00:00 grep --color=auto python
Как получить только пользователя, который запускает процесс, pid и команду, запущенную для процесса, как показано в следующем выводе?
myusername 4492 /home/myusername/.virtualenvs/myproject/bin/ipython manage.py runserver
root 6665 /usr/bin/python /usr/lib/system-service/system-service-d
ps --fields="user pid command"
Ответы:
Я думаю, вы ищете аргумент -o:
Итак, команда, которую вы хотите, будет (Ubuntu):
под OpenSolaris команда выглядит так:
источник
Warning: bad ps syntax, perhaps a bogus '-'? See http://procps.sf.net/faq.html
man ps
. Возможно, синтаксис немного отличается в вашей системе.ps -o uid,pid,cmd -e|grep python
ps -o user,pid,cmd -e|grep '[p]ython'
Самым простым, вероятно, будет:
Таким образом, вы получаете все напрямую,
ps
и вам не нужно ничего анализировать.Со
ps
страницы руководства :Эта
-C
опция будет работать, если вы работаете вpython
интерактивном режиме, а не если Python запускает скрипт. В этом случае вы должны использовать-C scriptname.py
вместо этого.источник
Моя версия PS отличается, поэтому может потребоваться некоторая настройка, но вы можете использовать cut (и, возможно, tr в зависимости от того, чего вы пытаетесь достичь) - например, что-то вроде
Предоставит символы 1-16 и 50 и далее от каждой строки вашего заявления PS. (Ваши реальные цифры, вероятно, потребуется немного помассировать).
Другой способ сделать это (но вы потеряете форматирование) может быть
Который сожмет пробелы в команде ps, затем возьмет поля 1,2 и 8 и отобразит их.
источник
Пример:
Объяснение:
-e
все процессы-o
определяемый пользователем форматuser,pid,cmd
Показать пользователя, идентификатор процесса, столбцы командПримечание: если вы используете
-f
с,-e
как предложили другие, вы можете получить ошибки. Это связано с тем, что оба эти параметра управляют форматом вывода, и должен использоваться только один из них:источник