Ich starte das Mousepad von der Shell aus:
mousepad &
[1] 24289
Überprüfen Sie, woher es kommt:
which mousepad
/usr/bin/mousepad
Beginne es mit dem Pfad:
/usr/bin/mousepad &
schau per ps:
ps v -C mousepad
PID TTY STAT TIME MAJFL TRS DRS RSS %MEM COMMAND
24289 pts/3 S 0:00 3 62 85441 10964 1.0 mousepad
24292 pts/3 S 0:00 0 62 85433 10864 1.0 /usr/bin/mousepad
Wie wir sehen, wird der ohne Pfad aufgerufene Pfad ohne Pfad angezeigt und beginnt mit dem Pfad und ist daher zu finden durch
which mousepad
So einfach ist das, nicht wahr? Warten! Was ist, wenn ich das Mousepad über das Menü starte? Nun, es kann mit oder ohne Verwendung der PATH-Einstellungen angegeben werden. Ich habe es versucht. Ein normaler Start führt zu einem einfachen "Mousepad" in ps v -C
. Da ~ / bin der erste Teil meines PATH ist, erstelle ich dort einen Dummy, und voila, der Dummy wird über das Menü gestartet.
Was aber, wenn Sie ein Programm starten, das sich selbst löscht? Die werden das gelöschte Programm nicht finden und ein falsches melden, wenn es eine Sekunde im Pfad gibt.
Das ist also eine Rennbedingung. Wenn Sie wissen , dass Ihre Programme selbst nicht löschen oder nicht bewegen , während Sie ihre Lage ist zu untersuchen, ps v -C NAME
und which NAME
sollen ziemlich gut funktionieren.
ps -C xmms
sollte dein grep obsolet machen.