Для Solaris вы можете попробовать procfs module from CPAN. Даже если этот модуль все еще кажется, совсем молодым, эта цитата звучит надежду:
Brian Farrell послал очень полезный патч, который обрабатывает осмотра ARGV и окружающей среды процессов , отличных от процесса в данный момент.
Я предполагаю, что это, вероятно, только начальная среда (так же, как файл environ
под linux), но это похоже на то, что вы хотите?
В противном случае, хотя я вижу, что вы говорите, что не хотите развиваться, простое решение, вероятно, должно было бы прокрутить ~ 20 строк C, чтобы создать небольшую программу, которая просто выплевывает среду на Solaris как точный эквивалент Linux environ
файл. У меня есть что-то очень похожее на C уже. Если вам интересно, я могу опубликовать его.
EDIT (после чтения OpenSolaris pargs.c): буфер среды перераспределяется в Solaris при изменении среды, поэтому указатель psinfo может быть недействительным. Для пуленепробиваемого решения вам нужно выискивать _environ. Это, наверное, больше хлопот, чем вам нужно ... pargs -e <pid>
может быть более приятным для UCB ps(1)
, если вы все-таки идете по маршруту разветвления.
будет ясно: pargs -e - это путь (оберните это внутри системного вызова perl) –
PaulS