Per Solaris, è possibile provare il procfs module from CPAN. Anche se questo modulo sembra ancora molto giovane, questa citazione suona speranza:
Brian Farrell ha inviato una patch molto utile che gestisce ispezione del argv e l'ambiente dei processi diversi dal processo attualmente in esecuzione.
Immagino che questo sia probabilmente solo l'ambiente iniziale (proprio come il file environ
sotto linux), ma quello sembra essere quello che vuoi?
Altrimenti, anche se ti vedo dire che non vuoi biforcarti, una soluzione semplice probabilmente farebbe girare a circa 20 righe di C per produrre un piccolo programma che sputa l'ambiente su Solaris esattamente come l'equivalente del Linux environ
file. Ho già qualcosa di molto simile in C. Se sei interessato, posso postarlo.
EDIT (dopo aver letto OpenSolaris pargs.c): il buffer di ambiente viene riallocato in Solaris quando l'ambiente cambia, quindi il puntatore di psinfo potrebbe non essere valido. Per una soluzione a prova di proiettile, devi dare la caccia a _environ. Probabilmente è molto più fastidioso di quello che ti serve ... pargs -e <pid>
potrebbe essere un alterativo più bello per UCB ps(1)
se si va sul bivio, però.
fonte
2009-02-07 14:02:33
per essere chiari: pargs -e è la strada da percorrere (avvolgere questo all'interno di una chiamata di sistema perl) –
PaulS