GNU/Linux >> Linux Esercitazione >  >> Linux

Come ottenere gli argomenti della riga di comando passati a un processo in esecuzione su sistemi unix/linux?

Ci sono diverse opzioni:

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

Ci sono più informazioni in /proc/<pid> su Linux, dai un'occhiata.

Su altri Unix le cose potrebbero essere diverse. Il ps il comando funzionerà ovunque, il comando /proc le cose sono specifiche del sistema operativo. Ad esempio su AIX non c'è cmdline in /proc .


Questo farà il trucco:

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

Senza xargs, non ci saranno spazi tra gli argomenti, perché sono stati convertiti in valori NUL.


Riga di comando completa

Per sistemi Linux e Unix puoi usare ps -ef | grep process_name per ottenere la riga di comando completa.

Sui sistemi SunOS, se vuoi ottenere la riga di comando completa, puoi usare

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

Per ottenere la riga di comando completa devi diventare un super utente.

Elenco di argomenti

pargs -a PROCESS_ID

fornirà un elenco dettagliato degli argomenti passati a un processo. Produrrà l'array di argomenti in questo modo:

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

Non ho trovato nessun comando simile per Linux, ma userei il seguente comando per ottenere un output simile:

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

Linux
  1. Linux:come ottenere l'ora dell'orologio da parete di un processo in esecuzione?

  2. Come ottengo il percorso di un processo in Unix/Linux

  3. Come ottenere l'ID del processo per terminare un processo nohup?

  4. Come posso ottenere il numero di fotogrammi in un video sulla riga di comando di Linux?

  5. Come avviare i programmi Linux GUI dalla riga di comando, ma separati dalla riga di comando?

Come utilizzare Nano, l'editor di testo della riga di comando di Linux

Come modificare la priorità di un processo in Linux

Come utilizzare il comando uniq per elaborare gli elenchi in Linux

Come ottenere il numero di processori/core in Linux

Come trovare il PID e il PPID di un processo in Linux

Come ottenere il PID padre di un determinato processo in GNU/Linux dalla riga di comando?