Sous Linux et Mac OS X, existe-t-il une commande kill ou killall permettant à l'application de demander un document non enregistré avant de quitter?


1

Sous Linux et Mac OS X, est - il killou killall commandqui peut laisser l'application demander avant de quitter document non enregistré, un peu comme demander l'application de quitter, ou en cliquant sur le bouton « fermer » de la fenêtre.

Par exemple, tapez somecommand TextEditsur Mac et TextEdit vous demandera si vous souhaitez enregistrer le document non enregistré.

Réponses:


4

Cela dépend de la manière dont chaque programme réagit aux signaux. Si vous faites un killavec un 15 ( SIGTERM) un programme est supposé faire le nettoyage alors quittez. Si, quoi et comment sont une autre affaire.



0

Cela ne vous ressemble pas, même si vous pouvez vérifier les différents signaux de neutralisation disponibles et les essayer. J'en ai essayé quelques-unes mais elles semblent toutes interrompre le processus au lieu d'envoyer un signal d'abandon.


0

Je pense que cela dépend de l'application, mais tuez -2, -3 ou -15 pourrait être ce que vous cherchez ...


Vous pouvez man 5 signalsvoir ce que signifient ces chiffres
Daenyth

0

Mac:

osascript -e 'tell app "TextEdit" to quit'

Si vous devez spécifier l'application en tant qu'argument,

osascript -e 'on run args
  tell app (item 1 of args) to quit
end run' TextEdit

(Ou enregistrez le script cité dans un fichier et .)osascriptscript appname


0

Les signaux qui terminent une application ne sont pas censés permettre à l'application d'interagir davantage avec l'utilisateur. Soit l'utilisateur n'est plus disponible (le HUPsignal, dont la signification originale était que l'utilisateur était connecté à l'ordinateur via un modem et le téléphone est mort), ou l'utilisateur ne veut pas être dérangé (le TERMsignal par défaut et son signal plus violent) frères QUITet soeurs et KILL). HUPCependant, de nombreuses applications essaieront de sauvegarder le travail non enregistré quelque part si elles reçoivent le signal.

Une option différente pour Linux (et d'autres systèmes) consiste à envoyer une notification à la fenêtre plutôt qu'au processus: le _NET_CLOSE_WINDOWmessage indique à une application de se débarrasser gracieusement d'une fenêtre spécifique. Vous pouvez envoyer ce message à partir de la ligne de commande avec wmctrl, par exemple, wmctrl -c WINDOW_TITLE_SUBSTRING. Malheureusement, toutes les applications ne supportent pas cela.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.