¿Hay alguna manera de generar una lista completa de procesos en Solaris, sin líneas truncadas? He probado el pscomando, con los siguientes argumentos:
-f Genera una lista completa. (Ver abajo para
importancia de las columnas en una lista completa
En g.)
-l Genera una lista larga. (Vea abajo.)
Entonces, ambos parecen hacer lo que quiero, sin embargo, más abajo en la página man de ps, encuentro esto:
args El comando con todos sus argumentos como un
cuerda. La implementación puede truncarse
este valor al ancho del campo; es
depende de la implementación si alguna
se produce un truncamiento adicional. Está
sin especificar si la cadena
representada es una versión del argumento
lista como se pasó al comando
cuando comenzó, o es una versión del
argumentos ya que pueden haber sido modificados
por la aplicación Las aplicaciones no pueden
depender de poder modificar su
lista de argumentos y tener esa modificación
ción se reflejará en la salida de ps.
La implementación de Solaris limita la
cadena a 80 bytes; la cuerda es el
versión de la lista de argumentos tal como estaba
pasó al comando cuando comenzó.
Lo que básicamente dice que la salida se va a truncar y no hay nada que pueda hacer al respecto. Entonces, voy a venir aquí. Seguramente otras personas se han topado con este problema y tal vez incluso tienen una solución. Supongo que ps no puede hacerlo, por lo que necesito usar otras herramientas para hacerlo. ¿Es eso exacto?

pscomando? Si es así, actualice la pregunta para que quede más clara.Respuestas:
tu podrías intentar
esto te da una lista de todos los argumentos
o de lo contrario usar otra ps. Si se ejecuta como root (o cualquier usuario con suficientes privilegios para el caso)
te dará todos los argumentos. Es parte de SUNWscpu, "Compatibilidad de fuente, (Usr)"
fuente
pargsmuestra la copia en proceso de los argumentos de la línea de comando (y opcionalmente el entorno). Es bueno saberlo, gracias!El núcleo no es necesario para realizar un seguimiento de los argumentos de la línea de comandos. Cuando se inicia un programa a través de la
execvellamada, el núcleo debe copiar los argumentos en la memoria del proceso (para que estén disponibles comoargven un programa en C, por ejemplo). Después de eso, el núcleo puede descartar la memoria utilizada para almacenar los argumentos iniciales de la línea de comandos. El proceso puede sobrescribir su copia de los argumentos. Por lo tanto, simplemente no puede haber rastro de los argumentos.Algunas variantes de Unix guardan una copia de los argumentos de alguna forma. Solaris expone algunos datos en
/proc/$pid. A partir de OpenSolaris 2009.06, el único rastro de los argumentos está en/proc/$pid/psinfo, donde se concatenan con espacios intermedios (por lo que no puede distinguir entrefoo "one" "two"yfoo "one two") y la cadena resultante se trunca a 80 bytes. Este campo en/proc/$pid/psinfoes lo que sepsimprime en laargscolumna.Por cierto, las opciones
-fy-lcontrolan qué campos se imprimen, no si los campos se truncan en algún ancho.fuente
ps -eda la lista de todos los procesos en ejecución. También hay estops -elf.fuente
Dependiendo del
pscomando que uses, yo usofuente
prstatle dará los procesos actualmente en ejecución junto con sus pids y la utilización de la CPU.fuente