1

Я только что получил Geektools, и я пытаюсь заставить geeklet оболочки отображать команду top -F -R -o cpu же, как она отображается в терминале. Через Google я нашел эту команду, чтобы показать пакет системной информации:

uptime | awk '{print "UPTIME : " $3 " " $4 " " $5 " " }'; top -l 1 | awk '/PhysMem/ {print "RAM : " $8 " "}' ; top -l 2 | awk '/CPU usage/; NR; 5 {printf "CPU" $6, $7=":", $8, $9="user ", $10, $11="sys ", $12, $13}'

Это имеет гораздо больше информации о процессоре, чем я хочу / нужно. Я надеюсь заменить информацию о процессоре во второй команде более чистой первой, но я не знаю, как заставить ее отображаться правильно.

1 ответ1

1

Попробуй ps aux . Он отображает хороший чистый вывод, отсортированный по использованию процессора. Если вы хотите что-то еще менее загроможденное, попробуйте

ps aux | awk '{print $3 "       " $11}';

Чтобы понять эту команду, просто запустите ps aux и посмотрите на результат. Переменная $3 относится к третьему столбцу выходных данных. Вы можете добавлять или удалять столбцы из GeekTool, добавляя или удаляя эти переменные из команды. Большое количество пробелов между кавычками просто меняет расстояние между столбцами в выводе.

Если вам нужны дополнительные параметры, откройте справочную страницу, набрав man ps . (Вы можете сделать это для top тоже. Если вам интересно, почему я не предложил модификацию с использованием top , это связано со следующими проблемами:

Проблема с GeekTool заключается в том, что он требует вывода статической команды. top можно сделать, чтобы получить статический вывод, используя top -l 1 , но поскольку он делает только один пример, он не может получить использование процессора. (Для этого нужно как минимум два.) Вы заметите, что если вы запустите top -l 1 , ваша загрузка процессора будет отображаться как 0. Чтобы исправить это, вы можете использовать top -l 2 . Однако это отображает использование системы дважды, и только второй набор данных является правильным. Это, вероятно, не будет полезным для GeekTool. Если вы все еще действительно хотите использовать top , вы можете попробовать следующую команду: top -l 2 -o cpu -R -stats cpu,command . Тем не менее, он будет отображать только неправильные данные, потому что он печатает это в первую очередь.

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