GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie bekomme ich die Befehlszeilenargumente an einen laufenden Prozess auf Unix/Linux-Systemen übergeben?

Es gibt mehrere Möglichkeiten:

ps -fp <pid>
cat /proc/<pid>/cmdline | sed -e "s/\x00/ /g"; echo

Weitere Informationen finden Sie in /proc/<pid> unter Linux einfach mal anschauen.

Auf anderen Unixen können die Dinge anders sein. Die ps Befehl wird überall funktionieren, der /proc Zeug ist OS-spezifisch. Unter AIX gibt es beispielsweise kein cmdline in /proc .


Dies wird den Zweck erfüllen:

xargs -0 < /proc/<pid>/cmdline

Ohne die xargs gibt es keine Leerzeichen zwischen den Argumenten, da sie in NULs umgewandelt wurden.


Vollständige Befehlszeile

Für Linux- und Unix-Systeme können Sie ps -ef | grep process_name verwenden um die vollständige Befehlszeile zu erhalten.

Wenn Sie auf SunOS-Systemen eine vollständige Befehlszeile erhalten möchten, können Sie

verwenden
/usr/ucb/ps -auxww | grep -i process_name

Um die vollständige Befehlszeile zu erhalten, müssen Sie Superuser werden.

Liste der Argumente

pargs -a PROCESS_ID

gibt eine detaillierte Liste von Argumenten, die an einen Prozess übergeben werden. Es wird das Array von Argumenten wie folgt ausgeben:

argv[o]: first argument
argv[1]: second..
argv[*]: and so on..

Ich habe keinen ähnlichen Befehl für Linux gefunden, aber ich würde den folgenden Befehl verwenden, um eine ähnliche Ausgabe zu erhalten:

tr '\0' '\n' < /proc/<pid>/environ

Linux
  1. So installieren Sie Software über die Linux-Befehlszeile

  2. So extrahieren Sie die tar.gz-Datei in Linux mithilfe der Befehlszeile

  3. So entfernen Sie Benutzer in Linux über die Befehlszeile

  4. Wie funktioniert der Befehl „ls“ unter Linux/Unix?

  5. Wie erhalte ich meine IP-Adresse über die Befehlszeile?

So verwenden Sie Nano, den Linux-Befehlszeilen-Texteditor

So ändern Sie die Priorität eines Prozesses in Linux

So verwenden Sie den Befehl uniq zum Verarbeiten von Listen in Linux

So erhalten Sie die Anzahl der Prozessoren / Kerne in Linux

So finden Sie die PID und PPID eines Prozesses in Linux

Wie bekomme ich nur den Benutzer, die PID und den Befehl, der für einen bestimmten Prozess ausgeführt wird? (Ubuntu 11.10)