Question:
Comment puis-je quitter une application à l'aide de Terminal?
Brainmaniac
2019-03-27 19:15:50 UTC
view on stackexchange narkive permalink

Je souhaite quitter certaines applications de mon Mac à l'aide de Terminal.Par exemple, comment tuer "Slack"?Ai-je besoin de son numéro PID?

Sept réponses:
user3439894
2019-03-27 19:26:42 UTC
view on stackexchange narkive permalink

Non, vous n'avez pas besoin de connaître son PID.

Vous pouvez utiliser:

  pkill -x Slack
 

Ou:

  killall Slack
 

Note: Assurez-vous de lire la page de manuel pour la commande que vous choisissez d'utiliser, afin de voir les différentes options disponiblesà la commande , en fonction de son utilisation particulière.Dans Terminal type par ex. man pkill et appuyez sur entrez , ou simplement tapez la commande et cliquez-droit dessus, puis sélectionnez : Open man Page

Matteo
2019-03-28 11:52:25 UTC
view on stackexchange narkive permalink

Vous pouvez utiliser AppleScript pour dire à l'application de quitter:

  osascript -e 'quitter l'application "Slack"'
 

cela indiquera à l'application de quitter et lancera toutes les tâches de sauvegarde et de nettoyage.Ou vous pouvez envoyer le signal TERM avec pkill mais il se peut que l'application ne se ferme pas proprement

  pkill -x Slack
 
C'est la meilleure méthode, car elle reproduit ce qui se passe lorsque vous utilisez `Fichier> Quitter` dans le menu.
Huh.J'ai toujours utilisé `osascript -e 'dis à l'application" Slack "de quitter" mais si la syntaxe plus courte fonctionne, alors c'est évidemment préférable.C'est certainement une meilleure réponse que tout ce qui suggère «kill» ou l'une de ses variantes.
@TJLuoma Je pense que si vous sélectionnez le bon signal, alors `pkill` est aussi gracieux que toute autre méthode.Moi aussi, je préfère AppleScript, bien que j'ai créé une fonction `quit` pour le rendre plus facile.Cependant, si la création d’un processus AppleScript n’est pas nécessaire, «pkill -QUIT -x Slack» devrait convenir.
user321134
2019-03-28 03:00:00 UTC
view on stackexchange narkive permalink

Comme je n'ai pas encore la réputation de commenter, je dis cela comme une réponse distincte. pkill sans aucun indicateur ne correspond pas à un processus spécifique!Par exemple, exécuter pkill foo ciblerait les processus nommés foo , mais ciblerait également les processus nommés foobar .C'est parce qu'il utilise des expressions régulières.

Si vous souhaitez tuer un processus spécifique, vous pouvez lui passer le drapeau -x .Par exemple, pkill -x foo .Cela utilisera des noms exacts au lieu d'expressions régulières.

Par exemple, dans votre cas, pkill -x Slack fera l'affaire.

BEFio
2019-03-27 22:20:00 UTC
view on stackexchange narkive permalink

Vous pouvez installer htop (via brew par exemple).

Vous devrez l'exécuter en tant que root ou avec sudo .Essentiellement, c'est un texte moniteur d'activité basé.

Sélectionnez le processus que vous souhaitez tuer (soit avec les touches fléchées, soit avec une souris).

Appuyez ensuite sur k pour envoyer un signal au processus, puis sur 9 pour choisir le signal SIGKILL .

scohe001
2019-03-27 23:57:02 UTC
view on stackexchange narkive permalink

Je ne suis pas sûr pour Slack, mais certaines applications exécuteront plusieurs processus et vous voudrez peut-être en tuer un seul (je trouve que je dois souvent le faire avec iTunes, par exemple).Dans ce cas, vous pouvez exécuter

  ps -e |grep -i mou
 

Pour rechercher tous les processus dont le nom est insensible à la casse.La sortie devrait ressembler (sans l'en-tête):

  PID TTY TIME CMD
649 pts / 1 00:00:00 bash
 

Cette première colonne sera votre PID.Vous pouvez ensuite l'utiliser pour tuer spécifiquement ce processus:

  tuer -9 649
 

Remplacement du 649 par votre PID que vous avez trouvé en appelant ps .

kill envoie un signal pour mettre fin à l'application.Il n'est pas nécessaire d'utiliser -9 (kill) si l'application répond.Vous risquez de perdre des données non enregistrées
De même, si vous vouliez tuer, disons, les 5 instances d'un processus nommé, vous pouvez filtrer la sortie de `ps` sur la valeur CMD et ensuite tuer toutes les premières entrées de ces lignes.
@Carl Witthoft, vous pouvez simplement utiliser `killall procname`, par ex.`killall Slack` et il _tuera_ toutes les occurrences de _Slack_ ou quel que soit le nom de` procname`.Pas besoin d'utiliser `ps`!
Donc, `pgrep` est une jolie commande qui combine` ps` et `grip`.
mr.robot
2019-10-07 18:09:49 UTC
view on stackexchange narkive permalink

Non, vous pouvez utiliser pkill pour mettre fin à une application en cours d'exécution.Par exemple -

  pkill Notes
 

Si cela échoue, il existe un autre moyen

Obtenez l'ID de processus de l'application à l'aide de pgrep.Par exemple -

  pgrep Notes
 

Ensuite, pour quitter l'utilisation de l'application

  tuer <process ID>
 
James QU
2020-03-12 07:55:14 UTC
view on stackexchange narkive permalink

Si l'application a un nom de journal, assurez-vous de donner le nom complet qui est répertorié dans les applications

par exemplefermez puis rouvrez

osascript -e 'quitter l'application "Cisco AnyConnect Secure Mobility Client.app"'

ouvrir / Applications / Cisco / Cisco \ AnyConnect \ Secure \ Mobility \ Client.app/



Ce Q&R a été automatiquement traduit de la langue anglaise.Le contenu original est disponible sur stackexchange, que nous remercions pour la licence cc by-sa 4.0 sous laquelle il est distribué.
Loading...