Я думаю, что существует три главных причины использовать Windows в предпочтении к Linux
Если у Вас есть Windows определенное программное обеспечение затем, Windows является лучшей платформой для выполнения его. Большинство поставщиков программного обеспечения Windows серверной стороны не будет, вероятно, поддерживать его на Вине, хотя они имели бы тенденцию поддерживать его на VM.
Если Ваши сетевые сотрудники будут знакомы с Windows, то Вы будете экономить на переквалификации затрат, если Вы будете придерживаться Windows.
Довольно часто основанным на Windows решением будет лучший инструмент для задания. Где у Вас есть опция выполнения эквивалентного программного обеспечения на Linux или Windws, основанное на Windows решение может просто быть лучшим для Ваших требований. В этом случае имеет смысл использовать его, если Вы не находитесь в положении имения в наличии навыков Unix, но никакой эквивалентной основы Навыка в Windows.
Для меня, ps
не переносится, если я не делаю:
ps axw
Однако можно установить экран width как это для усечения вывода (но он не переопределит -w
):
ps ax --width=80
Можно также использовать o
(или -o
или --format
) опция включать только столбцы, которыми Вы интересуетесь, измените или устраните заголовки столбцов и установите ширину каждого столбца individually*. Посмотрите man ps
и поиск "пользовательского формата" (несколько случаев).
*
установка ширины столбца, меньшей, чем нормальный, может изменить путь содержание или отображенный или не может иметь влияния. Например, "args:20" не усекает вывод (если это не последний столбец), и "user:5" заставляет имена пользователей дольше, чем пять символов быть отображенными как число UID.
Я не могу прокомментировать ответ 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;
...
Добавление 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