Não com um único comando que conheço.
O Solaris ps
obtém dados do processo para argumentos como linha de comando do /proc/[PID]/psinfo
file , que contém dados que preenchem um struct psinfo
por /usr/include/sys/procfs.h
:
#define PRARGSZ 80 /* number of chars of arguments */
typedef struct psinfo {
int pr_flag; /* process flags (DEPRECATED; do not use) */
int pr_nlwp; /* number of active lwps in the process */
.
.
.
char pr_fname[PRFNSZ]; /* name of execed file */
char pr_psargs[PRARGSZ]; /* initial characters of arg list */
...
Portanto, você não pode obter todo o conjunto de argumentos de linha de comando de /usr/bin/ps
. Você pode usar /usr/ucb/ps ...
como você já observou e formatar sua saída usando awk
ou similar. Há também pargs
, que pode ser usado para emitir argumentos de linha de comando. (O local instalado de pargs
varia dependendo da versão do Solaris.)
Esteja ciente, no entanto, de que um processo pode modificar seus argumentos e, para obter as informações completas do argumento, é necessária permissão para ler o espaço de endereço do processo.