Uh, aparentemente, o campo pri
é exatamente 39 menos o valor visível em /proc/$pid/stat
(então 39 - 20 = 19). Também é comentado como 'não legal como UNIX' PRI '', já que
Unix98 only specifies that a high "PRI" is low priority.
E isso não se aplica lá.
Mas! Não há menos que seis outros formatos de saída para a prioridade, todos com o valor bruto negado ou não, mais alguma constante.
Escolha uma. Aqui estão três gatos com diferentes valores de nice
:
$ ps -o pid,rtprio,pri,opri,priority,pri_foo,pri_bar,pri_baz,pri_api,ni,args -Ccat
PID RTPRIO PRI PRI PRI FOO BAR BAZ API NI COMMAND
18418 - 0 99 39 19 40 139 -40 19 cat /dev/zero
18419 - 19 80 20 0 21 120 -21 0 cat /dev/zero
18420 - 39 60 0 -20 1 100 -1 -20 cat /dev/zero
Os comentários no código dizem que
Sun and SCO add the
-c
behavior. Sun defines "pri" and "opri".
Portanto, provavelmente há algum motivo histórico para corrigir o intervalo de saída correspondente. ps -c
usa o pri
valor aqui. priority
é o valor bruto como o kernel apresenta.
O arquivo de código-fonte relevante é ps/output.c
:
link