Quand je le fais, ps -ef|grep python
j'obtiens ce qui suit:
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
Comment puis-je obtenir uniquement l' utilisateur qui exécute le processus, le pid et la commande exécutés pour le processus comme dans la sortie suivante à la place?
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"
Réponses:
Je suppose que vous recherchez l'argument -o:
La commande que vous souhaitez serait donc (Ubuntu):
sous OpenSolaris la commande est:
la source
Warning: bad ps syntax, perhaps a bogus '-'? See http://procps.sf.net/faq.html
man ps
. Peut-être que la syntaxe est légèrement différente sur votre système.ps -o uid,pid,cmd -e|grep python
ps -o user,pid,cmd -e|grep '[p]ython'
Le plus simple serait probablement:
De cette façon, vous obtenez tout directement de
ps
et n'avez pas besoin d'analyser quoi que ce soit.Depuis la
ps
page de manuel:L'
-C
option fonctionnera si vous exécutez de manièrepython
interactive, pas si python exécute un script. Dans ce cas, vous devez utiliser à la-C scriptname.py
place.la source
Ma version de PS est différente, donc elle pourrait nécessiter quelques ajustements, mais vous pouvez utiliser cut (et éventuellement tr en fonction de ce que vous essayez de réaliser) - par exemple quelque chose comme
Fournira les caractères 1-16 et 50 à partir de chaque ligne de votre déclaration ps. (Vos chiffres réels auront probablement besoin d'un peu de massage).
Une autre façon de le faire (mais vous perdrez le formatage) pourrait être
Ce qui compressera les espaces dans la commande ps, puis prendra les champs 1, 2 et 8 et les affichera.
la source
Exemple:
Explication:
-e
tous les processus-o
format défini par l'utilisateuruser,pid,cmd
Afficher l'utilisateur, l'ID de processus et les colonnes de commandeRemarque: si vous utilisez
-f
avec-e
comme d'autres l'ont suggéré, vous pouvez obtenir des erreurs. En effet, ces deux paramètres contrôlent le format de sortie et un seul d'entre eux doit être utilisé:la source