[SHELL] savoir où est installé un processus

Clarusad

Membre actif
5 Février 2004
393
9
Bonjour,

J'aimerais savoir si il existe une commande (ou un ensemble de commandes) qui me retournerait le chemin d'une application.
Par exemple, pour ce qui est de Safari, je sais qu'il se trouve là :
Bloc de code:
/Applications/Safari.app/

Maintenant, imaginons que j'ai DEUX applications Safari dont la seconde se trouverait ici :
Bloc de code:
/Users/foo/Applications/Safari.app/

Est-ce que le terminal peut me dire laquelle des deux est lancée ?

Merci bien.
 
Super, ça m'a mis sur la bonne voie pour trouver la solution à mon problème qui est plus complexe.
Il s'agit de savoir d'où est lancé l'utilitaire Smart Scroll.
Donc, lorsque j'exécute la commande suivante :
Bloc de code:
ps -aef | grep Smart\ Scroll
Le terminal me retourne les deux lignes suivantes :
Bloc de code:
501 55492   157   0   0:00.79 ??         0:09.88 /Library/PreferencePanes/Smart Scroll.prefPane/Contents/MacOS/Smart Scroll.app/Contents/MacOS/Smart Scroll -psn_0_25294878
  501 56154 55726   0   0:00.00 ttys000    0:00.00 grep Smart Scroll

Moi ce qui m'intéresse, c'est de savoir d'où est lancé cet utilitaire. pour ça, j'ai trouvé cette syntaxe :
Bloc de code:
ps -aef | grep Smart\ Scroll | awk '{print $8}' | awk '{print $1}' | xargs echo | tr ' ' ' ' | awk '{print $1}'
Et la, j'ai ma réponse :
Bloc de code:
/Library/PreferencePanes/Smart
Mais c'est pas joli-joli tout ça ; peut-on la simplifier ?

Merci bien.
 
Bloc de code:
ps -aef | perl -nle 'print $1 while /\s([\/\w]*\/)Smart\ Scroll/g'

et si tu veux rechercher sans te soucier de la casse, tu peux ajouter 'i' (non sensible à la casse) après le /g

Bloc de code:
ps -aef | perl -nle 'print $1 while /\s([\/\w]*\/)smart\ scroll/gi'

et si tu veux chercher seulement l'un des deux mots, tu peux utiliser :

Bloc de code:
ps -aef | perl -nle 'print $1 while /\s([\/\w]*\/)[\w\s]*Scroll/g'

mais il faut faire attention au mot clé, sinon tu risques de te retrouver avec des résultats bien plus larges que ce que tu espérais (tu peux essayer en remplaçant Scroll par Applications, tu devrais voir ta ligne ainsi que plein d'autres lignes avec uniquement '/'). Disons que c'est valable si tu cherches vraiment un terme spécifique. Pour chercher "ScrollEnabler", "MyScrollTool" et "Smart Scroll" ça va. Mais pour 'Applications", bof bof.
 
Dernière édition: