Qu'est-ce qu'une commande pour trouver la priorité d'un processus sous Linux?

Réponses:

10

La topcommande répertorie la priorité des processus en cours d'exécution sous l'en- PRtête. Si vous l'avez installé, vous pouvez également rechercher un processus et trier par priorité dans htop.

jasonwryan
la source
13

awk '{print $18}' /proc/1337/stat (obtient le prio pour le processus 1337).

Autres options:

Utilisez ps -o pri. Spécifiez l'ID de processus avec -p 1337. Ou, utilisez -epour répertorier tous les processus.

Expérimentez avec cela comme point de départ si vous voulez plus que la priorité:

ps -e -o uid,pid,ppid,pri,ni,cmd
MattBianco
la source
5

psest probablement la bonne voie à suivre. Vous pouvez ensuite grep et awk votre chemin vers la ligne et la colonne pertinentes

Sarah
la source
3
ps -o ni $(pidof processname)

Par exemple:

ps -o ni $(pidof mysqld)

# ps -o ni $(pidof mysqld) 
  NI
  15
Paul
la source
2

Si vous avez une distribution Linux réduite où ps et top ne vous donnent pas d'informations de priorité, vous pouvez analyser le fichier stat de proc pour votre ID de processus pour obtenir les informations de priorité.

cat /proc/PID/stat | awk '{print "priority " $18 " nice " $19}'

Les valeurs aux positions 18 et 19 du fichier de statistiques représentent la priorité et la gentille

Pour en savoir plus: https://linux.die.net/man/5/proc

Razan Paul
la source
0
ps -le | grep 'process name'

ps -lp 'PID of specific process'
firo
la source
0

Vous pouvez exclure les en-têtes avec --no-headers si ps l'a. Vous pouvez utiliser "ps --no-headers -o pri $ (pidof)" pour afficher simplement la priorité. Utilisez pgrep si vous n'avez pas de pidof.

k9dog
la source