GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo pasar los argumentos de la línea de comando a un proceso en ejecución en sistemas Unix/Linux?

Hay varias opciones:

ps -fp <pid>
cat /proc/<pid>/cmdline | sed -e "s/\x00/ /g"; echo

Hay más información en /proc/<pid> en Linux, solo eche un vistazo.

En otros Unixes las cosas pueden ser diferentes. El ps el comando funcionará en todas partes, el /proc las cosas son específicas del sistema operativo. Por ejemplo, en AIX no hay cmdline en /proc .


Esto hará el truco:

xargs -0 < /proc/<pid>/cmdline

Sin los xargs, no habrá espacios entre los argumentos, porque se han convertido a NUL.


Línea de comandos completa

Para sistemas Linux y Unix, puede usar ps -ef | grep process_name para obtener la línea de comandos completa.

En los sistemas SunOS, si desea obtener una línea de comando completa, puede usar

/usr/ucb/ps -auxww | grep -i process_name

Para obtener la línea de comandos completa, debe convertirse en superusuario.

Lista de argumentos

pargs -a PROCESS_ID

dará una lista detallada de argumentos pasados ​​a un proceso. Mostrará la matriz de argumentos de esta manera:

argv[o]: first argument
argv[1]: second..
argv[*]: and so on..

No encontré ningún comando similar para Linux, pero usaría el siguiente comando para obtener un resultado similar:

tr '\0' '\n' < /proc/<pid>/environ

Linux
  1. ¿Cómo obtener un recuento de archivos en un directorio usando la línea de comando?

  2. Linux:¿cómo obtener la hora del reloj de pared de un proceso en ejecución?

  3. ¿Cómo obtengo la ruta de un proceso en Unix/Linux?

  4. ¿Cómo obtener la identificación del proceso para eliminar un proceso nohup?

  5. ¿Cómo obtengo la cantidad de cuadros en un video en la línea de comando de Linux?

Cómo usar Nano, el editor de texto de línea de comandos de Linux

Cómo cambiar la prioridad de un proceso en Linux

Cómo usar el comando uniq para procesar listas en Linux

Cómo obtener la cantidad de procesadores/núcleos en Linux

Cómo encontrar el PID y PPID de un proceso en Linux

¿Cómo funciona el comando 'ls' en Linux/Unix?