топор PS | grep Java без обертывания в терминал?

Я думаю, что существует три главных причины использовать Windows в предпочтении к Linux

  • Если у Вас есть Windows определенное программное обеспечение затем, Windows является лучшей платформой для выполнения его. Большинство поставщиков программного обеспечения Windows серверной стороны не будет, вероятно, поддерживать его на Вине, хотя они имели бы тенденцию поддерживать его на VM.

  • Если Ваши сетевые сотрудники будут знакомы с Windows, то Вы будете экономить на переквалификации затрат, если Вы будете придерживаться Windows.

  • Довольно часто основанным на Windows решением будет лучший инструмент для задания. Где у Вас есть опция выполнения эквивалентного программного обеспечения на Linux или Windws, основанное на Windows решение может просто быть лучшим для Ваших требований. В этом случае имеет смысл использовать его, если Вы не находитесь в положении имения в наличии навыков Unix, но никакой эквивалентной основы Навыка в Windows.

3
задан 2 September 2009 в 21:23
3 ответа

Для меня, ps не переносится, если я не делаю:

ps axw

Однако можно установить экран width как это для усечения вывода (но он не переопределит -w):

ps ax --width=80

Можно также использовать o (или -o или --format) опция включать только столбцы, которыми Вы интересуетесь, измените или устраните заголовки столбцов и установите ширину каждого столбца individually*. Посмотрите man ps и поиск "пользовательского формата" (несколько случаев).

* установка ширины столбца, меньшей, чем нормальный, может изменить путь содержание или отображенный или не может иметь влияния. Например, "args:20" не усекает вывод (если это не последний столбец), и "user:5" заставляет имена пользователей дольше, чем пять символов быть отображенными как число UID.

4
ответ дан 3 December 2019 в 05:57

Я не могу прокомментировать ответ Dennis Williamson (возможно, у меня есть слишком мало точек для этого); вот почему я пишу новый ответ.

Можно сделать

ps ax --width=$COLUMNS

скорректировать выходную ширину согласно текущему терминальному размеру. Если Ваша любимая оболочка не поддерживает переменную окружения СТОЛБЦОВ, можно использовать stty:

ps ax --width=$(stty -a | grep 'columns [0-9]*;' | sed 's|.*columns \([0-9]*\).*|\1|')

или более конкретно (использующий единственный awk, но делающий более сильное предположение на stty-a выходной формат):

ps -axw --width=$(stty -a | awk '/columns/ { printf "%d", $7 }')

Все это - довольно мало ввода, таким образом, Вы могли бы хотеть рассмотреть создание выше псевдонима или функции оболочки... :-) Вышеупомянутое, возможно, должно быть скорректировано для Вашей операционной системы (я не могу протестировать теперь, я не использую OS X, но Linux). У меня есть следующий вывод для stty-a:

speed 38400 baud; rows 42; columns 178; 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;
...
1
ответ дан 3 December 2019 в 05:57

Добавление less -S в конце любой команды развернет вывод команды на терминал Linux. .

Пример: 1 (Ваша исходная команда добавлена ​​с помощью less -S )

ps ax | grep java | less -S

16338 ?        Sl   725:52 /usr/java/jdk1.8.0_60/bin/java -Dinstall4j.jvmDir=/usr/java/jdk1.8.0_60 -Dexe4j.moduleName=/opt/mqm/mq_mount
23137 ?        Sl   498:18 /usr/java/jdk1.8.0_60/bin/java -Dinstall4j.jvmDir=/usr/java/jdk1.8.0_60 -Dexe4j.moduleName=/opt/mqm/mq_mount
34753 ?        Sl   492:43 /usr/java/jdk1.8.0_60/bin/java -Dinstall4j.jvmDir=/usr/java/jdk1.8.0_60 -Dexe4j.moduleName=/opt/mqm/mq_mount
39519 ?        Sl   486:47 /usr/java/jdk1.8.0_60/bin/java -Dinstall4j.jvmDir=/usr/java/jdk1.8.0_60 -Dexe4j.moduleName=/opt/mqm/mq_mount
42071 ?        Sl   494:36 /usr/java/jdk1.8.0_60/bin/java -Dinstall4j.jvmDir=/usr/java/jdk1.8.0_60 -Dexe4j.moduleName=/opt/mqm/mq_mount

Пример: 2 . Более того, следующая команда показывает% потребления ЦП и памяти для каждого потока / идентификатора процесса Java.

ps aux | egrep 'java|USER' | less -S

USER         PID  %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
Kathpalia   14876  0.0  0.0 103328   864 pts/0    S+   09:31   0:00 egrep java|USER
Kathpalia   16338  2.7  9.4 5932240 953984 ?      Sl   Mar22 726:00 /usr/java/jdk1.8.0_60/bin/java -Dinstall4j.jvmDir=/usr/java/jdk1.8.0_60 -Dexe4j.
Kathpalia   23137  2.3  5.3 5875976 542084 ?      Sl   Mar25 498:26 /usr/java/jdk1.8.0_60/bin/java -Dinstall4j.jvmDir=/usr/java/jdk1.8.0_60 -Dexe4j.
Kathpalia   34753  2.3  4.6 5837004 469692 ?      Sl   Mar25 492:51 /usr/java/jdk1.8.0_60/bin/java -Dinstall4j.jvmDir=/usr/java/jdk1.8.0_60 -Dexe4j.
Kathpalia   39519  2.3  4.2 5824768 429004 ?      Sl   Mar25 486:55 /usr/java/jdk1.8.0_60/bin/java -Dinstall4j.jvmDir=/usr/java/jdk1.8.0_60 -Dexe4j.
Kathpalia   42071  2.3  4.0 5825876 408612 ?      Sl   Mar25 494:44 /usr/java/jdk1.8.0_60/bin/java -Dinstall4j.jvmDir=/usr/java/jdk1.8.0_60 -Dexe4j.

Это верно для любого общего процесса:

ps aux | egrep 'MyGenericProcess|USER' | less -S

PS : Для Linux 6.x или выше, grep - E можно использовать вместо egrep

0
ответ дан 3 December 2019 в 05:57

Теги

Похожие вопросы