Как мне получить команду «top», чтобы обернуть вывод?


20

Столбец «команда» обрезается по ширине экрана, и я не могу увидеть его последнюю часть.

Я попытался уменьшить размер шрифта, чтобы увидеть более длинную часть командной строки, но это все равно не сработает.


Какая команда генерирует ваш вывод?

Я знаю, что это не дает прямого ответа на ваш вопрос, но я бы посмотрел на htopболее приятный интерфейс для top. Это позволит вам прокручивать с помощью клавиш со стрелками.

Не могли бы вы уточнить, почему не работает уменьшение размера шрифта?
Стивен Куан

это работает, но мне не хватает, чтобы увидеть всю строку .. командная строка довольно длинная
sureshvv

Ответы:


10

top -bcn1 -w512

Элегантным решением является использование опции . Согласно справочной странице, максимальная ширина составляет 512 символов, поэтому вам нужно другое решение для всего, что превышает это. Предположительно, вы также хотите увидеть всю длину команд, поэтому используйте опцию. Нам нужно работать в «пакетном режиме», иначе он будет продолжать обрезать команды с помощью «+». В пакетном режиме происходит беспорядок, потому что он распечатывает все задания каждую секунду, поэтому мы можем использовать опцию для распечатки только одного экземпляра.-w [number]-ctop-b-n1

Смотрите man- страницу для получения дополнительной информации.


1
Вам нужно проверить страницу руководства в вашей системе; Эти параметры существуют не во всех версиях top.
Скотт

по моему убунту 18.04 man topговорит -c :Command-line/Program-name toggle ... Starts top with the last remembered 'c' state reversed. Это означает, -cчто полные команды будут отображаться только при каждом втором выполнении.
Гилад Майани

21

Поле команды по умолчанию усекается автоматически для лучшего чтения.

Вам нужно бежать

top -c

чтобы показать полную команду, то в зависимости от возможностей вашего окна консоли вы сможете прокрутить вправо и увидеть полную команду.


Это просто отображает полную командную строку по умолчанию - или фактически все, что можно сделать видимым в одной строке. Я не вижу возможности прокрутки. Вы говорите, что мне просто нужно увеличить ширину моего окна?

Да, это для начала. Какой тип окна вы используете? это Putty, командный терминал Dos, терминал Gnome? любой из них позволит вам прокручивать по горизонтали.
носитель кольца

не видеть горизонтальную прокрутку в PuTTY
bbodenmiller

8

Как сказал Даниэль Арндт, вы также можете использовать htop вместо top. В настоящее время он доступен во всех дистрибутивах и предоставляет лучшие номера (особенно для использования памяти)

Это также намного проще в использовании и приятнее видеть, даже если оно ограничено цветами терминала. Например, вы можете прокрутить вправо, чтобы увидеть полную команду, или вы можете убить процесс простым F9. Вы также можете увидеть полное дерево с клавишей 't'.


Это не отвечает на вопрос, но является предложением для другой программы. htopдействительно хорошая программа, но вопрос был о результатах топа. Пожалуйста, оставайтесь в теме.
барабанная дробь

2
@drumfire, предлагающий альтернативы, совершенно актуален и по теме. Это должно быть очевидно по тому факту, что ФП приняла этот ответ почти три года назад.
Terdon

3

Это неприятно, но вы можете изменить поведение, изменив переменные оболочки $ COLUMNS и $ LINES перед запуском top:

export COLUMNS=$((COLUMNS*2))
export LINES=$((LINES/2))
top

Это убедит оболочку, что у вас вдвое больше столбцов для записи (и вдвое меньше строк, чтобы компенсировать это). Если вы используете bash, вы можете запустить shopt -s checkwinsizeзаранее, что скажет ему пересчитать эти значения, как только завершится выход. В противном случае вы можете просто сделать резервную копию / восстановить эти значения (или просто изменить размер окна).


0

Вы можете создать пакетный экран, который включает в себя top -b -n 1 и ps , например:

while (true)
do
  clear
  top -b -n 1
  ps
  sleep 5
done

Это будет обрабатывать отображение:

  • PID
  • Процессор
  • Неусеченная командная строка

0

Вы можете попробовать это. Это напечатает только один экземпляр topс фиксированной шириной и выходами, чтобы вы могли получить вывод.

top -n1 -w80

Вы можете даже передать вывод в файл.

top -n1 -w80 > top_output.txt

0

Попытка увеличить ширину вывода экрана, используя команду ниже.

export COLUMNS = 197 top -u -cbn1> top.output

Здесь 197 - это просто жизнеспособность. Попробуйте увеличить в соответствии с вашими требованиями и подробный вывод, который вам требуется.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.