Läsa av prioritet

Tråden skapades och har fått 3 svar. Det senaste inlägget skrevs .
1
  • Medlem
  • Stockholm
  • 2007-07-02 15:14

Hur gör man i Terminalen för att läsa av vad en process har för nice-värde?

Vad jag vill göra är att skapa en lista med "min" användares processer och vad de har för prioritet. Jag vill att det ser ungefär likadant ut som detta kommando, fast med nice-värdet istället för minnesanvändningen:

Citat:

top -o rprvt -l1 -u | grep % | grep -v Load | grep -v COMMAND | grep -v \[0123456789\]K | grep -v WindowServ | grep -v mds | grep -v Dock | grep -v zsh | grep -v AppleSpell | grep -v coreaudio | grep -v loginwindo | grep -v coreservic | grep -v mdimport | grep -v DashboardC | cut -c 7-17,51-57

Vilket för mig just nu resulterar i en lista som ser ut så här:

Safari      144M  
SystemUISe 13.1M  
UniversalA 1.70M  
Quicksilve 47.9M  
Adium      60.4M  
NetNewsWir 43.4M  
Terminal   5.12M  
LCCDaemon  11.6M  
Finder     7.78M  
GrowlHelpe 34.2M  
MenuCalend 4.87M  
ATSServer  1.95M  
textpander 5.50M  
iScrobbler 5.60M  
LittleSnit 2.05M  
System Eve 1.59M  
iStat menu 1.67M
  • Medlem
  • Stockholm
  • 2007-07-02 16:32

ps -l nice (minus lilla L) visar processer med nice-värdet.

Under förutsättning att din användare har UID 501 så funkar följande:

ps -Acl nice| grep ^.*501 | awk '{ print $13,$6 }'

-A visar alla processer
-c visar bara själva kommandot, inte sökvägen dit
-l nice visar nice-värdet
grep'en tar ut alla rader som börjar med 501, dvs UID på den användare man vill kolla
awk'en tar ut processnamnet och nicevärdet (kolumnerna 13 respektive 6 i ps-listan) och skriver ut dem

Det är inte top, men det funkar.

  • Medlem
  • Stockholm
  • 2007-07-02 17:10

Hela scriptet skulle därmed bli något liknande

Citat:

ps -Acl nice| grep ^.*501 | awk '{ printf "%-20s %s\n",$13,$6 }' | sort +1 -nr | egrep -v "{WindowServ|mds|Dock|zsh|AppleSpell|coreaudio|loginwindo|coreservic|mdimport|DashboardC}"

Du slipper på det sättet köra en massa grep-processer samt får output snyggt sorterat.

  • Medlem
  • Stockholm
  • 2007-07-02 18:05

Tackar tackar, och med Quicksilver fick man till ett snabbkommando som visar alla processer som inte har nice=0 med ett tjusigt Growl-meddelande.

1
Bevaka tråden