Inizio mousepad dalla shell:
mousepad &
[1] 24289
controllare, da dove proviene:
which mousepad
/usr/bin/mousepad
avviarlo con il percorso:
/usr/bin/mousepad &
guarda tramite 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
Come vediamo, quello invocato senza percorso viene visualizzato senza percorso, e iniziato con il PERCORSO, e quindi può essere trovato da
which mousepad
Semplice come quello, non è vero? Aspettare! Cosa succede se avvio mousepad dal menu? Bene, potrebbe essere specificato con o senza l'utilizzo delle impostazioni PATH. Provai. Un avvio normale porta a un semplice 'mousepad' in ps v -C
. Dato che ~ / bin è la prima parte del mio PERCORSO, creo lì un manichino e, voilà, il manichino viene avviato dal menu.
Ma cosa succede se si avvia un programma che si elimina da solo? Che non troverà il programma cancellato e segnalerà uno sbagliato, se c'è un secondo nel percorso.
Quindi questa è una condizione di gara. Se sai che i tuoi programmi non si cancellano da soli o non vengono spostati mentre stai studiando la loro posizione ps v -C NAME
e which NAME
dovrebbero funzionare abbastanza bene.
ps -C xmms
dovrebbe rendere obsoleto il tuo grep.