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?

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.


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 ...

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.