Eu criei o seguinte comando usando ps
e awk
, o que dá uma saída muito semelhante, com apenas uma pequena diferença, pois mostra nomes abreviados da classe de agendamento. O mapeamento a seguir pode ajudar você:
-
TS é SCHED_OTHER
-
RR é SCHED_RR
-
FF é SCHED_FIFO
O comando:
ps -e -o s,pid,cls,pri | grep ^R | awk -v sq="'" '{print "pid",$2,sq,"s current scheduling policy:",$3,"\npid",$2,sq,"s current priority:",$4}'
A execução do comando acima no meu host fornece a seguinte saída:
pid 8456 ' s current scheduling policy: TS
pid 8456 ' s current priority: 19
pid 12552 ' s current scheduling policy: TS
pid 12552 ' s current priority: 19
EDITAR
Com base no comentário, o comando a seguir fornece uma saída exata usando chrt
e supondo que um processo ativo seja um processo em execução ou executável R
:
ps -e -o s,pid | grep ^R | awk '{system("chrt -p " $2)}'
Caso você queira obter a saída para todos os processos (em execução, em repouso, parado e zumbi), use o seguinte comando:
ls /proc | grep -e ^[0-9] | awk '{system("chrt -p " $0)}'|more