когда я бегу ps -aux
команду на своем сервере Linux, к которому я подключился с помощью putty, немногие процессы слишком длинные, чтобы уместиться в мою текущую ширину окна. Есть ли альтернатива?
-- Обновить --
Я прошу прощения за понижение рейтинга, я думал, что другие тоже не найдут ответ полезным, поэтому я понизил рейтинг.
Вот информация, которую вы просили.
hadoop-user@hadoop-desk:~$ echo $TERM
xterm
hadoop-user@hadoop-desk:~$ stty -a
speed 38400 baud; rows 47; columns 158; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>; eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R;
werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 0;
-parenb -parodd cs8 -hupcl -cstopb cread -clocal -crtscts
-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff -iuclc -ixany -imaxbel -iutf8
opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke
hadoop-user@hadoop-desk:~$ echo $COLUMNS
158
echo $TERM
,stty -a
иecho $COLUMNS
в вашем вопросе.stty ocrnl
и / илиstty sane
?ps axuww
Вот и ответ;) По крайней мере, для меня. Двойникww
сделал это.Ответы:
Вполне вероятно, что вы используете пейджер, такой как
less
или,most
так как выводps aux
длиннее, чем экран. Если это так, следующие параметры вызовут (или заставят) переносить длинные строки вместо того, чтобы быть усеченными.Если вы используете одну из следующих команд, строки не будут перенесены, но вы можете использовать клавиши со стрелками или другие клавиши перемещения для прокрутки влево и вправо.
Линии всегда обернуты для
more
иpg
.Когда
ps aux
используется в трубе, этаw
опция не нужна, посколькуps
ширина экрана используется только при выводе на терминал.источник
most
это еще один пейджер. Я добавил ссылку в своем ответе.w
не нужен при использовании канала, похоже, зависит от системы. Как в openSUSE Leap 15.0, так и в Ubuntu 18.04 такие команды, какps aux | grep <something>
действие, действуют на выходе,ps
усеченном по ширине терминала.Используя
auxww
флаги, вы увидите полный путь к выводу как в окне терминала, так и из сценариев оболочки.ps aux
перечисляет все процессы, выполняемые всеми пользователями. Смотритеman ps
подробности.ww
Флаг устанавливает неограниченную ширину.Я нашел ответ в следующем блоге:
http://www.snowfrog.net/2010/06/10/solaris-ps-output-truncated-at-80-columns/
источник
ps auxf > ps.log
просто и идеально:
не будет усекать строку
источник
Просто бросьте это на кошку, которая автоматически переносит строки
источник
cat
Команда есть на каждом NIX-боксе.Пройдя несколько
w
секунд, вы проигнорируете ширину дисплея.источник
Если вы указываете формат вывода вручную, вам также необходимо убедиться, что этот
args
параметр является последним в списке полей вывода, иначе он будет обрезан.ps -A -o args,pid,lstart
даетно
ps -A -o pid,lstart,args
получает полную командную строку:источник
Вы можете установить формат вывода, например, чтобы увидеть только команду и идентификатор процесса.
см. справочную страницу ps для большего формата вывода. В качестве альтернативы вы можете использовать опции
-w
или--width n
.Если ничего не помогает, вот еще один обходной путь (только для просмотра ваших длинных cmds)
источник
Извините, что опоздал на вечеринку, но только что нашел решение проблемы.
Строки усекаются, потому что ps настаивает на использовании значения $ COLUMNS, даже если в этот момент вывод не является экраном. Что является ошибкой, ИМХО. Но легко обойти, просто заставьте ps думать, что у вас сверхширокий экран, т.е. установите COLUMNS в высокий уровень на время выполнения команды ps. Пример:
Я надеюсь, что это все еще полезно для кого-то. Все остальные идеи казались слишком сложными :)
источник
Если ни одно из вышеуказанных решений не сработало, вывод
ps
не является вашей проблемой. Может быть, вам нужно установить шпаклевку, чтобы обернуть длинные строки ?В противном случае нам нужно больше информации.
источник
Если вы ищете
grep
команду с каналом из ps aux, она автоматически обернет текст. Я использовал много других ответов здесь, но иногда, если вы ищете что-то конкретное, это просто удобно использовать,grep
и вы знаете, что оно будет переносить строки.Например
ps aux | grep ffmpeg
.источник
Я нашел этот ответ, который прибил его ко мне, так как ни один из вышеупомянутых ответов не сработал
/unix/91561/ps-full-command-is-too-long
По сути, ядро ограничивает мою строку cmd.
источник
Доказательства усечения, упомянутые другими, (личный пример)
Это ^^ фиксирует этот длинный вывод в переменной, в отличие от
Так как я пробовал это на ноутбуке Docker jupyter, мне нужно было запустить это с новой силой, конечно ...
Удивительно, но ноутбуки Jupyter позволят вам выполнить даже это! Но я рад помочь найти ноутбук, который меня обидел, забрав всю мою память = D
источник