Intereting Posts
Сброс списка папок «Компьютер» «Наутилус» Как получить экран входа в систему через VNC в Oracle Linux? SystemD не запускает ExecStartPre, пока я не перезагружу и не перезагружу службу Отображение дискового пространства, необходимого для обновления Заголовки / исходные файлы C ++ в файле выбора Создание наборов файлов, которые соответствуют заданному размеру носителя для tar -T Solaris: найдите день последнего понедельника, вторника, … воскресенье с помощью сценария оболочки Как установить драйвер Nvidia на Debian 8 на MS6 ge60 gtx960m? скрипт bash для извлечения строки из последней выходной строки Системные файлы со строгими разрешениями Как запустить сценарий оболочки с двойным щелчком в CentOS 7 Как я могу переименовать много файлов с помощью регулярных выражений? diff два каталога для изменений и выход формата для использования для скрипта Асимметричное шифрование диска Можем ли мы транслировать в tmux

Сортировка вывода ps не работает

Я хочу отсортировать вывод следующей команды на основе pcpu :

 ps -p 29492 -L -o pid,tid,psr,pcpu 

Я попробовал следующее:

 ps -p 29492 -L -o pid,tid,psr,pcpu --sort=pcpu 

Но, похоже, это не работает. Как я могу это исправить?

Вероятно, в вашей реализации ps сортировка применима только к процессам, а не к потокам (см. fancy_spew() в procps ' display.c ). Насколько я могу судить, если вы хотите сортировать темы, вам нужно выполнить пост-обработку вывода; например

 ps -p 29492 -L -o pid,tid,psr,pcpu | sort -n -k4,4 

но тогда строка заголовка будет замешана на выходе. Если вы хотите сохранить строку заголовка, вы можете вытащить ее и распечатать отдельно:

 ps -p 29492 -L -o pid,tid,psr,pcpu | sed -e1\!b -e'w /dev/fd/2' -ed | sort -n -k4,4 

Вы также можете просто удалить строку заголовка, указав пустые значения заголовка для всех селекторов вывода:

 ps -p 29492 -L -o pid=,tid=,psr=,pcpu= | sort -n -k4,4 

Во всех этих случаях вы можете изменить сортировку, добавив -r в параметры sort . На заказ сортировки может влиять LC_NUMERIC или LC_ALL ; установка LC_ALL=C будет сортировать значения с десятичной точкой . правильно.