LINUX.ORG.RU

История изменений

Исправление Zmicier, (текущая версия) :

Вот представь себе, если бы он был аналогичен Get-Process из поша, у которого их сто с лишним.

Ну уж чем богаты. Позвольте, я не буду сейчас выписывать все 119 (сто девятнадцать) колонок которые есть у ps(1) из procps-ng (который обычно стоит в ГНУ, и которым выше я и пользовался), тем паче что часть из них — синонимы других, а выберу для иллюстрации штук шестнадцать, ОК?

$ export PS_FORMAT='%cpu,time,nice,pri,%mem,rsz,vsz,size,pid,ppid,user,group,fuser,fgroup,tty,args'

При этом тебе надо гарантировать, что все данные корректны, что будет, если в имени процесса, например, есть пробельные символы?

То это поле либо будет последним, либо разделителем колонок будет другой символ — не пробел.

И как потом этот скрипт читать, с номерами?

«Константы? Не, не слышал».

$ Priority=4
$ VSize=7

Собственно с этой писательской парадигмы ПШ и содран.

Конечно нет, пош с нее не содран, а сделан как раз обратным образом.

Я не говорю о том, как МС ПШ сделан — сделан он разумеется с точностью до наоборот — вместо простого, но универсального инструмента, дико сложная вещь в себе. Я говорю о том, с чего содран интерфейс — то есть язык. Вот с этого:

$ ps -e | awk "\$$Priority > 7" | sort -nk $VSize | tail -5 | awk "{ vsz+=\$$VSize }; END { print vsz / NR }"

И это будет жуткий вырвиглаз.

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

И почему вы ее превозносите, когда ее самую внезапно берет на вооружение уже Микрософт — не понимаю. Любовь ко всему, что бы ни сделал МС?

Это абсолютно все системное апи. Командлеты - это обертки вокруг системных вызовов, которые дают более удобный и лаконичный синтаксис, не более того.

То есть ограниченный набор утилит, написанный специально для МС ПШ. «Выбор желаемых колонок по названию и сортировка», но не для одного ps(1), а для много большего числа программ, только и всего.

Исходная версия Zmicier, :

Вот представь себе, если бы он был аналогичен Get-Process из поша, у которого их сто с лишним.

Ну уж чем богаты. Позвольте, я не буду сейчас выписывать все 119 (сто девятнадцать) колонок которые есть у ps(1) из procps-ng (который обычно стоит в ГНУ, и которым выше я и пользовался), тем паче что часть из них — синонимы других, а выберу для иллюстрации штук шестнадцать, ОК?

$ export PS_FORMAT='%cpu,time,nice,pri,%mem,rsz,vsz,size,pid,ppid,user,group,fuser,fgroup,tty,args'
[/cpde]

> При этом тебе надо гарантировать, что все данные корректны, что будет, если в имени процесса, например, есть пробельные символы?

То это поле либо будет последним, либо разделителем колонок будет другой символ — не пробел.

> И как потом этот скрипт читать, с номерами?

«Константы?  Не, не слышал».

$ Priority=4
$ VSize=7

Собственно с этой писательской парадигмы ПШ и содран.

Конечно нет, пош с нее не содран, а сделан как раз обратным образом.

Я не говорю о том, как МС ПШ сделан — сделан он разумеется с точностью до наоборот — вместо простого, но универсального инструмента, дико сложная вещь в себе. Я говорю о том, с чего содран интерфейс — то есть язык. Вот с этого:

$ ps -e | awk "\$$Priority > 7" | sort -nk $VSize | tail -5 | awk "{ vsz+=\$$VSize }; END { print vsz / NR }"

И это будет жуткий вырвиглаз.

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

И почему вы ее превозносите, когда ее самую внезапно берет на вооружение уже Микрософт — не понимаю. Любовь ко всему, что бы ни сделал МС?

Это абсолютно все системное апи. Командлеты - это обертки вокруг системных вызовов, которые дают более удобный и лаконичный синтаксис, не более того.

То есть ограниченный набор утилит, написанный специально для МС ПШ. «Выбор желаемых колонок по названию и сортировка», но не для одного ps(1), а для много большего числа программ, только и всего.