Finden Sie heraus, mit welchen Parametern ein Programm gestartet wurde

8

Gibt es eine Möglichkeit, für einen bestimmten Prozess herauszufinden, mit welchen Parametern er gestartet wurde?

Pieter
quelle

Antworten:

5

Um herauszufinden, welche Argumente an pdnsd übergeben wurden, würde ich Folgendes tun:

[~]> pgrep -l pdnsd
1373 pdnsd
[~]> cat /proc/1373/cmdline 
/usr/sbin/pdnsd--daemon-p/var/run/pdnsd.pid[~]> 

( cmdlineDateieinträge werden durch Nullzeichen getrennt; verwenden Sie so etwas wie tr '\0' '\n' </proc/<pid>/cmdlineeine besser lesbare Ausgabe.)

/proc/<pid>/ enthält viele Informationen.

agn
quelle
Beachten Sie, dass die Befehlszeile kann durch das Programm überschrieben selbst; Bestimmte Softwareteile tun dies aus harmlosen Gründen, normalerweise um nützliche, für Menschen lesbare Informationen in die psAusgabe aufzunehmen, aber auch aus böswilligen Gründen wie einem Exploit oder Rootkit, der versucht, sich selbst zu verbergen.
Shadur
Viel zu komplex. Warum nicht einfach pgrep -a pdnsd?
user1404316
4

Gibt unter Linux ps -efdie gesamte Befehlszeile einschließlich der Parameter aus.

Für Solaris könnten die Dinge problematischer sein, aber Sie haben die Frage mit Linux markiert ...

Alain Pannetier
quelle