Вопросы о значениях WCHAN

Использование AWK:

$ echo 'Users of Digital_A803x_433Mbps: (Total of 2784 licenses issued; Total of 314 licenses in use)' |
awk '{ printf "%2.2f%%\n", 100 - $11 / $6 * 100 }'
88.72%

Это предполагает, что в метке («Цифровой _…» )нет пробелов.

0
24.02.2020, 19:41
1 ответ

Вопросительный знак "?" в выводе "ps"

Я не проверял исходный код "ps" в Linux, но ИМХО "?" используется всегда, когда значение неизвестно для "ps". Почему это происходит с вами, нельзя ответить, не зная подробностей.

Но наиболее распространенной причиной этого является отсутствие разрешений. :Пользователь вашего процесса "ps" не имеет разрешений на чтение сведений о других процессах. Подробная информация о других процессах может быть проверена, например. /proc/PIDNUMBER/каталог -, если у вас нет разрешений на просмотр деталей, то и процесс «ps», запущенный вами, будет иметь ту же проблему с разрешениями.

Различный вывод «ps» и «Системный монитор»

К сожалению, на этот вопрос нельзя ответить точно. На самом деле я бы всегда ожидал другого вывода двух экземпляров "ps" или "Системного монитора" или любого другого инструмента для отображениятекущегосостояния процессов, потому что с каждой долей секунды состояние большинства процессов системы меняется! Каждый раз, когда вы запускаете такой инструмент, как «ps», вы получаете моментальный снимок состояния на данный момент.

Даже если вы попытаетесь запустить два экземпляра «ps» одновременно, выходные данные будут различаться почти на каждой системе, потому что сам «ps» — это просто процесс, получающий несколько временных интервалов от ядра Linux/Unix, вызывающий два « ps" для получения данных от других процессов в разное время и, следовательно, с разными значениями.

Теоретически, если у вас есть система, например. 200 ядер ЦП и только 198 процессов, тогда два (новых )процесса "ps" могут показывать одинаковые выходные данные.Теоретически -, если оба процесса работают на собственном ядре ЦП и запущены одновременно!

Проверка выходов:

Обычно состояние процесса часто меняется. Единственное состояние, которое можно удерживать какое-то время, это «остановлено». Это показано как «T» (sTopped )в «ps». Чтобы сравнить здесь «ps» и «Системный монитор», вы можете попробовать отправить процессу сигнал STOP с помощью kill -STOP PIDNUMBER, а затем сравнить вывод обоих инструментов для этого процесса. Чтобы продолжить выполнение процесса после его сравнения, просто отправьте ему сигнал «продолжить» с помощью kill -CONT PIDNUMBER. В качестве процесса вы можете использовать что-то вроде, например. "sleep 3600", который можно легко найти (, или "grep"ped )в выводе "ps".

0
28.04.2021, 23:22

Теги

Похожие вопросы