Ich sehe nichts Einfacheres als ps
mit den richtigen Argumenten, zB:ahxwwo pid,command
die nur die gewünschte Information liefert, zB:
5911 tail -F /var/log/mail.log
Wenn Sie Rohdaten wünschen, können Sie jede Datei in /proc/[123456789]*/cmdline
lesen . Zum Beispiel
$ cat -vet /proc/5911/cmdline
tail^@-F^@/var/log/mail.log^@
wobei die Befehlsargumente durch ein Nullzeichen getrennt werden.
Das meiste Lob geht an meuh.
ps ahxwwo pid,command
Gibt mir die drei Elemente, die ich brauche, aber es ist aufgrund willkürlicher Leerzeichenformatierung immer noch ziemlich schwierig zu parsen.
Es ist jedoch möglich, die Leerzeichenformatierung zu entfernen.
ps ahxwwo pid:1,command:1
Mit explode
mit einem Leerzeichen als Trennzeichen garantiert nun, dass Index 0 die PID und Index 1 der Befehl ist und die restlichen Indizes Argumente sind.