Перегляд повних команд на виході ps


18

Під час запуску psз -fопцією в PuTTY (щоб побачити команду, що відповідає кожному процесу), рядки, довші термінальної ширини, не видно повністю (вони не обернуті на кілька рядків).

Як я можу примусити обертати рядки, щоб я міг бачити повні команди (у кількох рядках, якщо потрібно) під час запуску ps -f?


Не відповідь, але якщо я запускаю ps -f у стиснутому емуляторі терміналу, вихід виводиться на кілька рядків. Який термінал ви використовуєте?
MatthewRock

1
Це може бути дублікатом: stackoverflow.com/questions/2159860 / ...
TommyGun

@MatthewRock Я тут використовую PuTTy, чи вважаєте ви, що це специфічно для нього?
sdabet

1
@Tonsenson не може закритись як дублікат між сайтом.
муру

1
@fiddler ах, ми не можемо мігрувати старі питання без втручання модератора, і навіть тоді це не рекомендується: meta.stackexchange.com/questions/8004/…
muru

Відповіді:


16

Якщо у вас є POSIS-сумісна psреалізація, ви можете спробувати

ps -f | more

Зауважте, що нещодавно ми змінили поведінку, і якщо у вас є реалізація, яка відповідає проблемі POSIX 7 tc2, ви можете спробувати:

ps -wwf | more

¹ Ми бути людьми , які мають щотижневі телеконференції для обговорення еволютивна стандарту POSIX.


1
ps -wwfпрацює просто чудово.
sdabet

8

Напевно, я знайшов відповідь на ваше запитання щодо переповнення стека . Слова Денніса Вільямсона :

Цілком ймовірно, що ви використовуєте пейджер, такий як менше або більшість, оскільки вихід PS aux довший, ніж екранний. Якщо так, наступні параметри призведуть (або змусять) загортати довгі рядки, а не обрізати.

ps aux | less -+S

ps aux | most -w Якщо ви використовуєте будь-яку з наведених нижче команд, рядки не будуть переплетені, але ви можете використовувати клавіші зі стрілками або інші клавіші руху для прокрутки вліво та вправо.

ps aux | less -S # використовувати клавіші зі стрілками, або Esc+ (і Esc+ ), або Alt+ (і Alt+)

ps aux | most # використовувати клавіші зі стрілками, або <і >(вкладку також можна використовувати для прокрутки вправо) Лінії завжди обгортаються на більше та pg.

Якщо ps auxвикористовується в трубі, опція w не потрібна, оскільки ps використовує ширину екрана лише тоді, коли вихід на термінал.

(Примітка. Це стосується невбудованого Linux, psутиліта для інших варіантів Unix може працювати інакше.)


@muru сподіваюся, що це зараз виглядає краще. Дякуємо, що очистили все!
tommygun

І шкода, що спричинив безлад.
MatthewRock

1
Ваша відповідь стосується /usr/ucb/psі навіть для цієї програми, яка вам знадобиться, wwоскільки /usr/ucb/psобмежує вихідну ширину до 80, якщо вихід є трубою. Щодо стандарту POSIX, див. Мою відповідь.
schily

1
@schily Ця відповідь цілком правильна для звичайної psкоманди в невбудованому Linux, що є більшістю читачів тут.
Жил "ТАК - перестань бути злим"

1
Але ОП не встановив / linux як тег.
schily

3

Є ще одне просте рішення:

echo "$(ps afx)"

або простоps afx
nyxee

1
тільки "ps факс" скоротить після певної кількості символів (я думаю, 72 стандартна довжина терміналу) синаксис "$ (ваша команда)" не для того, щоб не відрізати його
симпатичний

Дякую за це. Тепер команда поводиться зовсім по-іншому на MacOS (я чую, що на її основі BSD) та Ubuntu ( Linux). Linux не показує різниці в тому, коли u echoчи ні. Але MAC OS X друкує стільки, скільки покаже термінал. Я використовую iTerm2і zsh. MAC не дозволяє цю --fопцію.
nyxee


0

Команда для MacOS дещо відрізняється echo "$(ps aux)"


Ви не хочете пропускати це echoбез потреби. Зауважте також, що кілька інших відповідей уже ps auxпевним чином згадують . Я б запропонував зауваження або редагування щодо тих існуючих відповідей, щоб зазначити, що вони хороші для MacOS (саме так я вважаю, що ви мали на увазі).
Jeff Schaller

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.