Plusieurs options s'offrent à vous :
ps -fp <pid>
cat /proc/<pid>/cmdline | sed -e "s/\x00/ /g"; echo
Il y a plus d'informations dans /proc/<pid>
sous Linux, jetez un coup d'œil.
Sur d'autres Unix, les choses peuvent être différentes. Le ps
commande fonctionnera partout, le /proc
les choses sont spécifiques au système d'exploitation. Par exemple sur AIX il n'y a pas de cmdline
en /proc
.
Cela fera l'affaire :
xargs -0 < /proc/<pid>/cmdline
Sans les xargs, il n'y aura pas d'espaces entre les arguments, car ils ont été convertis en NUL.
Ligne de commande complète
Pour les systèmes Linux et Unix, vous pouvez utiliser ps -ef | grep process_name
pour obtenir la ligne de commande complète.
Sur les systèmes SunOS, si vous souhaitez obtenir une ligne de commande complète, vous pouvez utiliser
/usr/ucb/ps -auxww | grep -i process_name
Pour obtenir la ligne de commande complète, vous devez devenir super utilisateur.
Liste des arguments
pargs -a PROCESS_ID
donnera une liste détaillée des arguments passés à un processus. Il affichera le tableau d'arguments comme ceci :
argv[o]: first argument
argv[1]: second..
argv[*]: and so on..
Je n'ai trouvé aucune commande similaire pour Linux, mais j'utiliserais la commande suivante pour obtenir une sortie similaire :
tr '\0' '\n' < /proc/<pid>/environ