Avant d’explorer cette astuce, il est nécessaire d’expliquer un principe sur l’exécution des applications. Lorsque vous lancez une application, celle-ci est connue du système par son « PID » (ou « Process IDentifier » en Anglais).
Si nous voulons « interagir avec le système il faut utiliser ce PID et non le nom de l’application. Le numéro n’est pas constant, il varie suivant l’ordre d’exécution et d’une machine à une autre… Il est attribué par Mac OS X de façon arbitraire.
Comment récupérer ce PID ?
Le plus simple est de lancer le « Moniteur d’activité », dans l’onglet « Processeur », repérez la colonne « PID », le chiffre indiqué correspond à l’identifiant de l’application (première colonne).
(Le moniteur d’activité avec l’onglet « Processeur « ) Une autre approche consiste à utiliser le Terminal et de récupérer le nom, la commande ressemble à ceci :
$ ps aux | grep iTunes
- « PS » liste les processus (équivalent du moniteur d’activité)
- « aux » ce sont les résultats que l’on veut obtenir.
- « | « la barre latérale (ou le « pipe » en Anglais) permet d’envoyer le résultat de la commande précédente vers la commande « Grep ».
- « grep » filtre le texte reçu pour ne garder que les lignes avec le mot « iTunes » Comme ceci :
(le terminal avec la commande exécutée).
Ce qui nous intéresse est la seconde information juste après le nom de l’utilisateur, sur mon Mac, iTunes porte l’identifiant « 50384 ». Les pros du Terminal, ajouteront « awk » à la commande, seul le PID sera retourné comme ceci :
$ ps aux | grep itunes | awk '{print $2}'
Comment suspendre l’application ?
La commande la plus connue du Terminal est « KILL » c’est grâce à elle si vous pouvez « tuer » un processus ou une application.
Il existe un « argument » qui permet de « stopper » une application et faire en sorte qu’elle se redémarre, la commande est simple :
$ KILL –STOP 50384
En exécutant cette commande l’application iTunes est « stoppée », attention elle existe toujours mais ne fait plus rien. Pour la relancer et lui permettre de travailler, utiliser la commande suivante :
$ KILL –CONT 50384
Effectuez le test avec iTunes, lorsqu’il est en cours de lecture d’un morceau, il s’interrompt immédiatement.
(dans le moniteur d’activité, iTunes utilise une portion du processeur)
Puis en exécutant la commande « KILL –STOP »
(dans le moniteur d’activité, iTunes n’utilise plus le processeur)
Il existe une variante de la commande « KILL », il s’agit de « killall » qui n’a pas besoin du PID pour fonctionner mais utilisera le nom du processus, seul problème, le nom du processus n’est pas toujours celui de l’application.
Attention aux majuscules, elles sont importantes dans le Terminal. $ killall – STOP iTunes Et pour le redémarrer $ killall –CONT iTunes.
Une option « -c » permet de travailler sur une application avec un nom long et qui comprend des espace comme « App store » par exemple :
$ killall –STOP « App Store »
Cette astuce, permet de mettre en pause une application trop gourmande pour laisser aux autres applications l’utilisation du processeur, sans pour autant fermer l’application trop gourmande.
Henri Dominique Rapin