2

Почему unix ps -l показывает один номер в столбце "PRI", но в то же время ps -o pri показывает другой номер?

PS процессор и милая ноль для этих процессов

1 ответ1

7

В linux procps столбец с надписью "PRI" в ps -l является -o opri . Изучение output.c показывает полдюжины различных типов приоритетных выходных данных:

// "priority"         (was -20..20, now -100..39)
// "intpri" and "opri" (was 39..79, now  -40..99)
// "pri_foo"   --  match up w/ nice values of sleeping processes (-120..19)
// "pri_bar"   --  makes RT pri show as negative       (-99..40)
// "pri_baz"   --  the kernel's ->prio value, as of Linux 2.6.8     (1..140)
// "pri"               (was 20..60, now    0..139)
// "pri_api"   --  match up w/ RT API    (-40..99)

Показать все из них с:

ps -o pid,priority,opri,pri_foo,pri_bar,pri_baz,pri,pri_api,comm

  PID PRI PRI FOO BAR BAZ PRI API COMMAND
 2201  20  80   0  21 120  19 -21 zsh
 2762  30  90  10  31 130   9 -31 cat
 2826  20  80   0  21 120  19 -21 ps

(cat nice cat /dev/zero > /dev/null)

Значение -o pri не подходит для столбца "PRI" стандарта UNIX, поскольку более высокие числа должны означать более низкий приоритет, поэтому оно не используется. Я считаю, что эти две колонки скопированы с соляриса. Столбец -o pri используется для столбца "PRI" команды ps -lc .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .