Comment faire une pause et reprendre une application ou un processus sous Mac OS X

Besoin de libérer rapidement de la puissance de traitement? Vous pouvez le faire facilement en interrompant temporairement puis en reprenant tout processus ou application actif sous Mac OS X. Techniquement, cela interrompt et «continue» un processus, mais il ne faut pas confondre un arrêt avec un assassinat plus agressif. ou forcer l'abandon des applications et donc la terminologie de la pause ou de l'arrêt est souvent plus facile à différencier.

Cela signifie que vous pouvez prendre un processus qui consomme 100% de CPU et le mettre temporairement en pause pendant que vous faites autre chose, puis le reprendre lorsque vous êtes prêt à laisser ce processus faire son travail. Ceci est réalisé par un tour de ligne de commande, et nous allons couvrir deux façons différentes de le faire en utilisant les commandes kill et killall avec les drapeaux -STOP et -CONT. Idéalement, vous aurez un peu de confort et de connaissances avec la ligne de commande avant de l'utiliser, mais ce n'est certainement pas nécessaire.


Avant de commencer, lancez l'application Terminal, dans / Applications / Utilities /, et lancez également Activity Monitor, qui se trouve dans le même dossier.

Comment suspendre temporairement l'arrêt d'un processus ou d'une application sous Mac OS X

La syntaxe de base pour suspendre une application est la suivante, où PID est l'ID du processus que vous souhaitez mettre en pause:

kill -STOP PID

Le PID est toujours un nombre, et chaque processus exécuté sur un Mac a un ID associé.

Si vous êtes familier avec la récupération des ID de processus, alors vous savez déjà quoi faire en utilisant les commandes ci-dessus, mais si ce n'est pas le cas, c'est ce que nous couvrirons ensuite, et c'est pourquoi nous avons lancé "Activity Monitor"

Trouver le PID et arrêter le processus associé

C'est la méthode la plus conviviale, utilisant Activity Monitor:

  • À partir de Moniteur d'activité, utilisez la fonction de recherche dans le coin supérieur droit et tapez le nom de l'application que vous souhaitez suspendre (par exemple: iTunes)
  • Avec les processus correspondants et / ou les applications visibles, localisez l'ID du processus en regardant sous la colonne "PID"
  • Ajoutez le PID correspondant à la commande kill ci-dessus, comme ceci:
  • kill -STOP 3138

  • Notez que l'activité de l'UC pour cet ID de processus est maintenant à 0%, indiquant que le processus a été suspendu (techniquement, arrêté)

Ne pas oublier le PID, ou mieux encore, ne pas encore fermer la fenêtre du Terminal, car ce même PID est la façon dont vous allez reprendre l'application pour continuer à pouvoir l'utiliser à nouveau.

Vous trouverez l'effet d'arrêter un processus sur l'utilisation du processeur est dramatique, cette capture d'écran montre iTunes consommant 70% CPU tout en exécutant son Visualizer, et le même processus iTunes après qu'il a été arrêté avec le drapeau -STOP. Le processus a littéralement été arrêté dans ses traces:

Ceux qui ont plus de connaissances en ligne de commande peuvent préférer utiliser ps plutôt que Activity Monitor, ce qui est très facile:

ps aux |grep Name

Changez "Nom" en quelque soit le début d'un processus ou d'un nom d'application, localisez le PID, puis placez-le dans la commande kill:

kill -STOP 92841

Le fait que vous utilisiez Activity Monitor ou ps pour récupérer le PID n'est pas pertinent, tant que vous entrez l'ID de processus correct lors de l'utilisation de la commande kill.

Notez que le fait d'essayer d'utiliser une application qui a été mise en pause aura presque toujours pour résultat de voir la boule de la mort qui tourne, moins l'utilisation du processeur. Ainsi, si vous souhaitez réutiliser l'application, vous devez la "reprendre".

Comment reprendre une application ou un processus "arrêté"

La reprise d'une application arrêtée ou en pause est simple, il suffit de modifier légèrement la commande kill et d'utiliser le même ID de processus que vous avez récupéré lors des étapes précédentes:

kill -CONT PID

Par exemple, pour reprendre l'application iTunes en utilisant le PID précédemment:

kill -CONT 3138

Et maintenant iTunes redevient utilisable, moins le curseur d'attente qui tourne. Parallèlement à cela vient un retour à n'importe quel niveau de consommation de CPU existait plus tôt.

La capture d'écran ci-dessous illustre cette astuce en utilisant à la fois les commandes kill et killall:

Utiliser -STOP et -CONT avec killall est essentiellement le même, mais il a quelques limitations concernant les noms, et donc nous avons couvert la méthode plus directe de l'utilisation de tuer sur la base de PID à la place. Nonethless, démontrons cela avec killall aussi.

Arrêt et applications continues par nom d'application

Si vous connaissez l'application ou le nom exact du processus, vous pouvez également utiliser la commande 'killall' avec l'option -STOP pour arrêter les processus. Cela peut être plus facile pour les applications qui sont faciles à identifier par un nom, mais il a des limites lorsqu'il s'agit de travailler avec des processus avec des noms complexes ou pour suspendre un processus ayant des processus dupliqués avec le même nom. ou une fenêtre mélangée avec de nombreux processus "Google Chrome Renderer"), et nous avons donc abordé l'approche PID d'abord parce que c'est beaucoup plus direct.

La commande d'arrêt de base avec killall est la suivante:

killall -STOP AppName

Vous ne savez pas quel est le nom de l'application? Utilisez ps et grep:

ps aux |grep AppName

Par exemple, vous pouvez utiliser "Chrome" pour trouver tous les processus avec "Chrome" dans le nom:

ps aux|grep Chrome

Ou vous pouvez simplement cibler le processus avec un nom d'application spécifique comme ceci:

killall -STOP -c "Google Chrome"

Reprise des processus et des applications avec killall est une question de changer le drapeau de -STOP à -CONT, tout le reste est le même:

killall -CONT AppName

Par exemple, pour reprendre l'application avec un nom long:

killall -CONT -c "Google Chrome"

Encore une fois, l'application / le processus continuera à fonctionner comme d'habitude, et l'utilisation du processeur retournera là où elle était avant d'être mise en pause.

Les applications ou les processus sans espace dans leur nom peuvent être impactés directement par killall sans indicateur ou indicateur supplémentaire, comme iTunes.