Dies ist der Befehl zum Anzeigen des Prozesspfads unter Linux
ps -auxwe | grep 24466 ( 24466 is only example )
aber bitte geben Sie mir einen Rat, ist es möglich, den Pfad des laufenden Prozesses unter Solaris anzuzeigen
wenn ja, wie lautet die PS-Syntax für Solaris?
Antwort1
Sie können pwdx in Solaris und Linux verwenden.
pwdx<pid_number>
Beispiel:
pwdx $$
25711: /export/home/pippo
Antwort2
Wie kann ich den absoluten Pfad eines laufenden Prozesses ermitteln?
Wenn Sie mit „absolutem Pfad“ den vollständigen Pfad der laufenden Binärdatei meinen, funktioniert dies auf meiner installierten Kopie von Solaris 11:
pmap PID | grep -v ':' | head 1 | awk '{ print $4 }'
Ersetzen Sie es PID
durch die Prozess-ID des Prozesses, an dem Sie interessiert sind.
pmap
gibt die Adresszuordnung des Prozesses aus, einschließlich des vollständigen Pfads der Quelldatei für die Zuordnung. Dies beinhaltet die eigentliche Binärdatei, die die ersteKartierungZeile der Ausgabe. Die erste Zeile der Ausgabe enthält die Prozess-ID und die Prozessargumente. Beachten Sie, dass die Prozessargumente nicht ausreichen, um den vollständigen Pfad zur ausgeführten ausführbaren Datei zu identifizieren. Die ersten Zeilen der tatsächlichen Adressraumzuordnungen sind Zuordnungen aus der tatsächlich ausgeführten Binärdatei, aufgelistet mit dem vollständigen, absoluten Pfad der Binärdatei.
Leider benötigen Sie Lesezugriff auf die Prozesskarte, um diese Informationen zu erhalten. Ich kenne keine Möglichkeit, das Gesuchte zu erhalten, ohne diesen Zugriff zu haben.
Bearbeiten: Es gibt auch /proc/[PID]/path/a.out
unter Solaris 11 einen Softlink zur eigentlichen Binärdatei:
In Bash:
bash-4.1$ readlink /proc/$$/path/a.out
/usr/bin/bash
Beachten Sie, dass dies /proc/$$/path/a.out
besser ist als /proc/self/path/a.out
:
bash-4.1$ readlink /proc/self/path/a.out
/usr/bin/readlink
Wenn Sie keinen Zugriff auf die Prozesszuordnung über haben pmap
, haben Sie leider wahrscheinlich auch keinen Zugriff auf /proc/[PID]/path/a.out
, da die Berechtigungen /proc/[PID]/path
für meine Solaris 11-Installation alle 500 betragen – nur der Eigentümer und der Root haben Lese- und Ausführungsberechtigungen für das Verzeichnis.
Antwort3
/usr/ucb/ps auxwwww | grep 6851 hat bei mir unter SunOS servername01 5.10 Generic_147440-25 sun4u sparc SUNW,Sun-Fire-V490 funktioniert