Я хочу запустить пакетный / неинтерактивный режим с -b
. Однако я хочу, чтобы вывод был отсортирован по PID. Какой параметр командной строки делает это? Я использую Debian Lenny и -o pid
вариант отсюда ( http://www.unixtop.org/man.shtml ) не работает.
Для меня в системе Ubuntu без ~/.toprc
или /etc/toprc
Бег top
3.2.8. Первичная сортировка %CPU
и вторичный сорт PID
.
Установить top
сортировать по PID
для пакетного режима:
Если у вас нет ~/.toprc
начать с:
top
в интерактивном режиме.W
. Что напишет новый ~/.toprc
с текущими настройками.top
(Нажмите q
).Чтобы создать необходимые файлы конфигурации:
~/.toprc
файл. Это понадобится вам на более позднем этапе. Назовем этот файл ~/.toprc.ORIG
(вы можете выбрать другое имя, если хотите).top
в интерактивном режиме.F
, затем a
, затем Enter. Это выберет PID
как поле сортировки.R
. Это изменит порядок сортировки по возрастанию.W
. Что напишет новый ~/.toprc
с текущими настройками.top
(Нажмите q
).mv ~/.toprc ~/toprc.PIDSORT
(или выберите желаемое имя)cp ~/.toprc.ORIG ~/.toprc
).Чтобы использовать созданный вами файл для вывода top -b -n1
отсортировано по PID
создайте такой сценарий:
#!/bin/bash
cp "$HOME/.toprc.PIDSORT" "$HOME/.toprc"
top -b -n1 > /path/to/outputfile
cp "$HOME/.toprc.ORIG" "$HOME/.toprc"
Вы можете попробовать запустить вывод через сортировку, например.
top -b -n1 | sort -b -n
При этом вывод по умолчанию сортируется численно и, следовательно, по PID. Однако он нарушает порядок строк заголовка.