Voici un pas à pas pour une fonctionnalité méconnue du Mac: la mise en pause momentanée d’une application et évidemment comment reprendre l’exécution de l’application à l’endroit où vous l’aviez stoppé.
(Note: toutes les images de l’article peuvent être cliquées pour un agrandissement)
Le Mac et OS X recèlent des fonctionnalités intéressantes que peu de gens connaissent mais qui gagneraient à être connues. L’une d’entre elle est la possibilité de mettre en pause une application. A quoi cela peut-il bien servir me demanderez-vous ? Eh bien imaginez ce scénario: vous avez un programme qui tourne depuis 1 heure, et vous avez besoin du résultat final de ce programme (vous zippez un gros fichier, vous encodez une video, vous êtes scientifique et un programme occupe tous vos threads, Firefox est devenu fou mais vous en avez besoin quand même, etc. la liste est sans fin). Et là vous vient soudain une idée farfelue: vous avez envie de lancer un autre programme qui utilise également beaucoup de ressources (au hasard: un jeu ou Photoshop) mais vous savez que l’autre programme va ralentir l’exécution du second. Que faire ? Ce type de situation n’arrive peut-être pas souvent, surtout depuis que nos machines sont surpuissantes, mais arrive suffisamment souvent pour qu’il soit intéressant d’avoir sous la main une solution. Le Mac dispose nativement d’une solution extrêmement puissante: la mise en pause pure et simple d’une application de votre choix. Il s’agit d’une fonctionnalité qui vient directement d’UNIX, le système dont OS X est issue, mais qui est étonnamment simple à utiliser.
Pour l’exemple, nous allons supposer que Firefox nous embête et que nous voulons mettre ce programme en pause immédiatement.
Firefox nous embête, nous allons le mettre en pause
Dans un premier temps, nous allons avoir besoin du PID de Firefox. C’est quoi donc le PID ? C’est un acronyme pour Process Identifier, un mot savant qui désigne tout simplement un numéro unique correspondant à Firefox, dans notre exemple, parmi tous les programmes lancés et en mémoire sur votre Mac. L’obtenir est un jeu d’enfant: le Moniteur d’Activité, recense et affiche tous les processus et programmes actuellement en mémoire, et accessoirement leur PID. Nous devons donc lancer le moniteur d’activité. Pour ceux qui ne l’ont jamais fait, il se trouve dans le répertoire des Applications, sous Utilitaires, donc à l’adresse: /Applications/Utilitaires. Une façon rapide d’y accéder est de cliquer sur la loupe à côté de l’horloge en haut à droite pour lancer Spotlight et de commencer à taper son nom (« mon » suffit en général) comme sur la capture d’écran ci-dessous:
On peut utiliser Spotlight pour lancer le Moniteur d’Activité
Une fois dans le Moniteur d’Activité, il suffit de consulter la liste des processus et programmes puis de trouver Firefox:
Une fois dans le moniteur d’activité, il suffit de repérer le programme que l’on souhaite mettre en pause et noter son PID
Le PID est le numéro inscrit dans la première colonne, juste à gauche du nom du programme. Attention, ce numéro change d’un ordinateur à un autre et même d’une session à une autre sur votre ordinateur. Le votre sera donc forcément différent de celui sur la capture d’écran, et la prochaine fois que vous redémarrez l’ordinateur il changera. Dans notre exemple le PID de Firefox est donc « 7496 », il faut en prendre note.
Pour finir la mise en pause d’un programme, il faut signaler au Mac qu’on souhaite le faire. Il faut donc exécuter une commande dans le Terminal, un puissant outil qui permet de communiquer avec le coeur du système OS X. Le Terminal se trouve au même endroit que le Moniteur d’Activité: /Applications/Utilitaires mais on peut à nouveau le lancer avec Spotlight comme sur la capture ci-dessous:
Pour lancer le Terminal avec Spotlight, il suffit de commencer à taper le début du nom
Une fois le Terminal lancé, on se retrouve devant une nouvelle session, où il faudra saisir la commande pour mettre en pause votre application:
Une nouvelle session du Terminal s’ouvre
La commande pour mettre en pause le programme s’appelle « kill » suivi de l’instruction « -STOP » et du numéro du PID. Il faut donc taper cette commande dans le Terminal:
kill -STOP 7496
Il faut bien penser à remplacer « 7496 » par votre PID et notez que les majuscules et les minuscules ont leur importance pour ne pas avoir une erreur:
Une fois la commande tapée dans le Terminal faites Entrée
Une fois la commande tapée dans le Terminal et que vous avez validé par Entrée, la mise en pause de votre programme est immédiate: le programme s’arrête à l’enduit où il en était, apparaît toujours sur l’écran mais ne répond plus. De plus, il n’occupe plus de temps processeur. On peut le voir en relançant le Moniteur d’Activité:
Le Moniteur d’Activité montre bien que le programme est arrêté et n’utilise plus de ressources
Le Moniteur d’Activité va jusqu’à afficher que le programme ne répond plus, dans notre exemple devant Firefox, et les ressources processeur utilisés tombent à zéro.
Maintenant que nous savons mettre en pause un programme, il est tout aussi important de savoir faire reprendre son activité au programme là où il s’était arrêté. C’est tout aussi simple à faire. Il faut à nouveau faire appel au Terminal et cette fois taper la ligne de code suivante:
kill -CONT 7496
Nous remarquons que la même commande « kill » est utilisée mais avec une autre option « CONT » qui est assez explicite. Il faut évidemment mettre à la suite le même numéro de PID que celui qui nous a servi à arrêter le programme:
Le Terminal permet de faire reprendre le programme là où on l’avait mis en pause
Il est important de noter que le programme n’est pas relancé mais reprend exactement là où il en était comme si de rien n’était. Cela ne sera pas important et ne se verra peut être pas avec Firefox mais c’est important pour quantité d’autres programmes que l’on souhaiterait mettre en pause. Pour finir, un coup d’oeil dans le Moniteur d’Activité nous montre que le programme, ici Firefox, a bien repris le cours de ses activités:
Le programme a repris son activité
Merci beaucoup pour votre page d’URL « https://www.ohmymac.fr/mettre-en-pause-une-application-sous-mac-pas-a-pas/ ». Jute un détail ridicule de ma part : peut-être pourriez-vous ajouter en fin de rubrique le logout pour terminer proprement l’opération en console.
Merci encore et pardonnez mon adresse bidon : étant très spamé, je préfère limiter la casse.
Bonne journée.