Utilisez le -o
drapeau.
Pour répertorier uniquement vos propres processus
ps -o command
Pour répertorier tous les processus système
ps -e -o command
Ce n'est pas la seule façon de lister les commandes, elles peuvent être imprimées avec des drapeaux de ligne de commande, ou en tant qu'exécutables uniquement (c'est ce que fait l' command
option).
De mon commentaire ci-dessous la réponse:
command, args et cmd donnent tous la commande complète. En fait, la commande et la cmd des états de page de manuel sont des alias d'arg, avec les indicateurs - inclus. La comm ne donne que le nom de l'exacutable. Les alias qui sont ucmd et ucomm. J'ai mal lu les options AIX, celles-ci peuvent en fait être spécifiées au format printf-like,% a pour args,% c pour comm
Reportez-vous à man ps
pour plus d'informations sur l'utilisation et les options de format disponibles
L'approche programmatique serait un peu redondante, car elle ps
nous fournit déjà les options de formatage, mais cela peut être fait avec awk
, ce qui est très utile lorsqu'il s'agit de sortie en colonnes.
ps aux | awk '{ for(i=1;i<=NF;i++) {if ( i >= 11 ) printf $i" "}; printf "\n" }'
Notez cependant que ce code se casse si le nom d'utilisateur contient des espaces, par exemple john doe
. Cela peut être modifié en ajoutant une gsub
fonction qui éliminera votre nom d'utilisateur de la ps
liste. Cependant, s'il y a plusieurs utilisateurs connectés au système, il peut être difficile d'effacer tous les noms d'utilisateur de la sortie. Ainsi, vous pouvez voir que le -o
drapeau est beaucoup plus préféré.
Remarque, il sudo
n'est pas nécessaire de répertorier tous les processus avecps
ps -eo command
&ps -eo comm
? La seule différence que j'ai trouvé danscommand
la sortie en tant que telle était:[kthreadd]
alors que danscomm
la sortie était comme ceci:kthreadd
. Est-ce que cela signifie quelque chose?