Есть ли способ создать полный список процессов в солярисе без усеченных линий? Я попробовал ps
команду со следующими аргументами:
-f Создает полный список. (См. Ниже для значение столбцов в полном списке Инж.)
-l Создает длинный список. (Смотри ниже.)
Итак, оба они, кажется, делают то, что я хочу, однако ниже, на странице справочника ps, я нахожу это:
args Команда со всеми аргументами в виде строка. Реализация может усечь это значение ширины поля; это зависит от реализации, любой дальнейшее усечение происходит. это не указано ли строка представлена версия аргумента список, как он был передан в команду когда это началось, или является версией аргументы, как они могли быть изменены по заявке. Приложения не могут зависит от возможности изменить их список аргументов и имеющие эту модификацию- Это отражается в выводе пс. Реализация Solaris ограничивает строка до 80 байт; строка является версия списка аргументов, как это было передается команде, когда она началась.
Который в основном говорит, что выходные данные будут усечены, и я ничего не могу с этим поделать. Итак, я иду сюда. Конечно, другие люди столкнулись с этой проблемой, и, возможно, даже есть способ обойти ее. Я предполагаю, что ps не может сделать это, и поэтому мне нужно использовать другие инструменты, чтобы сделать это. Это точно?
ps
команде? Если это так, пожалуйста, обновите вопрос, чтобы он был понятнее.Ответы:
ты можешь попробовать
это дает вам список всех аргументов
или использовать другой пс. Если запустить от имени пользователя root (или любого пользователя с достаточными правами)
даст вам все аргументы. Его часть SUNWscpu, «Совместимость с источниками (Usr)»
источник
pargs
показывает внутрипроцессную копию аргументов командной строки (и, возможно, среды). Полезно знать, спасибо!Ядро не обязано отслеживать аргументы командной строки. Когда программа запускается через
execve
вызов, ядро должно скопировать аргументы в память процесса (чтобы они были доступны, как, например,argv
в программе на Си). После этого ядро может отказаться от памяти, используемой для хранения начальных аргументов командной строки. Процесс может перезаписать свою копию аргументов. Так что может просто не быть никаких следов аргументов.Некоторые варианты Unix сохраняют копию аргументов в той или иной форме. Solaris предоставляет некоторые данные в
/proc/$pid
. Начиная с OpenSolaris 2009.06, единственная трассировка аргументов находится там/proc/$pid/psinfo
, где они объединяются с пробелами между ними (поэтому вы не можете различитьfoo "one" "two"
иfoo "one two"
), и результирующая строка усекается до 80 байтов. Это поле в/proc/$pid/psinfo
том, чтоps
печатается вargs
столбце.Кстати, параметры
-f
и определяют-l
, какие поля печатаются, а не усекаются ли поля до некоторой ширины.источник
ps -e
дает список всех запущенных процессов. Также есть этоps -elf
.источник
В зависимости от того, какую
ps
команду вы используете, я используюисточник
prstat
даст вам текущие процессы вместе с их pids и загрузкой процессора.источник