Ни одна из реализаций, Вы нашли соответствия прототипом в sys/stat.h, Возможно, ищущем включать оператор с этим заголовочным файлом, не будет более успешной?
Вы могли попробовать
pargs <PID>
это дает Вам список всех аргументов
или иначе используйте другой PS. Если выполнено как корень (или любой пользователь с достаточными полномочиями в этом отношении)
/usr/ucb/ps auxww
даст Вам всем аргументы. Его часть SUNWscpu, "Исходная Совместимость, (Usr)"
Ядро не требуется, чтобы отслеживать параметры командной строки. Когда программа запущена через execve
звоните, ядро должно скопировать аргументы в память процесса (так, чтобы они были доступны как argv
в программе C, например). После этого ядро может отбросить память, используемую для хранения начальных параметров командной строки. Процессу позволяют перезаписать его копию аргументов. Таким образом, не может просто быть никакой трассировки аргументов.
Некоторые варианты Unix действительно сохраняют копию аргументов в некоторой форме. Солярис выставляет некоторые данные в /proc/$pid
. С OpenSolaris 2009.06 единственная трассировка аргументов находится в /proc/$pid/psinfo
, где они связываются с промежуточными пробелами (таким образом, Вы не можете различать foo "one" "two"
и foo "one two"
) и получившая строка является усеченной к 80 байтам. Это поле в /proc/$pid/psinfo
что ps
печать в args
столбец.
Между прочим, -f
и -l
опции управляют тем, какие поля печатаются, не, являются ли поля усеченными к некоторой ширине.
Завися, который ps
управляйте, чтобы Вы использовали, я использую
ps -auxw
prstat
даст Вам в настоящее время рабочие процессы наряду с их pids и загрузку ЦП.
pargs
показывает незавершенную копию параметров командной строки (и дополнительно среда). Хороший для знания, Спасибо! – Gilles 'SO- stop being evil' 11.11.2010, 22:12