Je ne vois rien de plus simple que ps
avec les bons arguments, par exemple :ahxwwo pid,command
qui donne juste les informations que vous voulez, par exemple :
5911 tail -F /var/log/mail.log
Si vous voulez des données brutes, vous pouvez lire chaque fichier en /proc/[123456789]*/cmdline
. Par exemple,
$ cat -vet /proc/5911/cmdline
tail^@-F^@/var/log/mail.log^@
où les arguments de la commande sont séparés par un caractère nul.
La plupart du crédit revient à moi.
ps ahxwwo pid,command
Me donne les trois éléments dont j'ai besoin, mais il est encore assez difficile à analyser en raison d'un formatage d'espace arbitraire.
Cependant, il est possible de supprimer la mise en forme des espaces.
ps ahxwwo pid:1,command:1
Utilisation de explode
avec un espace blanc comme délimiteur garantit maintenant que l'index 0 est le pid, et l'index 1 est la commande, et les index restants sont des arguments.