Quando eu ps -ef|grep python
recebo o seguinte:
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
Como obtenho apenas o usuário que está executando o processo, o pid e o comando para o processo, como na saída a seguir?
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"
Respostas:
Eu acho que você está procurando o argumento -o:
Portanto, o comando que você deseja seria (Ubuntu):
no OpenSolaris, o comando é:
fonte
Warning: bad ps syntax, perhaps a bogus '-'? See http://procps.sf.net/faq.html
man ps
. Talvez a sintaxe seja um pouco diferente no seu sistema.ps -o uid,pid,cmd -e|grep python
ps -o user,pid,cmd -e|grep '[p]ython'
O mais simples provavelmente seria:
Dessa forma, você obtém tudo diretamente
ps
e não precisa analisar nada.Na
ps
página do manual:A
-C
opção funcionará se você estiver executandopython
interativamente, não se o python estiver executando um script. Nesse caso, você deve usar em seu-C scriptname.py
lugar.fonte
Minha versão do PS é diferente, por isso pode exigir alguns ajustes, mas você pode usar o cut (e possivelmente tr dependendo do que você está tentando alcançar) - por exemplo, algo como
Fornecerá os caracteres de 1 a 16 e 50 a partir de cada linha da sua declaração de ps. (Seus números reais provavelmente precisarão de um pouco de massagem).
Outra maneira de fazer isso (mas você perderá a formatação) pode ser
O que comprimirá o espaço em branco no comando ps, depois pegará os campos 1,2 e 8 e os exibirá.
fonte
Exemplo:
Explicação:
-e
todos os processos-o
formato definido pelo usuáriouser,pid,cmd
Mostrar usuário, ID do processo, colunas de comandoNota: se você usar
-f
com-e
como outros têm sugerido, você pode obter erros. Isso ocorre porque esses dois parâmetros controlam o formato de saída e apenas um deles deve ser usado:fonte