Comment faire pour tuer les applications gui soft via le terminal?

Existe-t-il un moyen de fermer une application d'interface graphique en mode convivial, s'il vous plaît , sans access graphique à la window des applications?

Par exemple, si l'affichage de Gnome / X se bloque en noir, je voudrais passer à tty2 et fermer des applications comme firefox de façon à leur permettre de sauvegarder leur configuration, etc. Au mieux sans autres requêtes de l'user.

Habituellement, vous pouvez utiliser SIGHUP pour "amical" fermer une application (avec ou sans interface graphique).

kill -HUP <application_pid> 

EDITED : ajouté quelques autres informations

La façon dont SIGHUP est géré dépend de l'application, comme Dave l'a noté, il peut arriver que ce signal soit masqué ou manipulé. Cependant, toutes les applications interactives se terminent gracieusement avec un SIGHUP.

De l'autre côté, je dois admettre que d'habitude je suis ce schéma:

 kill -HUP <application_pid> # check if application is still running kill -INT <application_pid> # check if application is still running kill -KILL <application_pid> 

Évidemment, la dernière command n'est pas aussi «amicale».

Vous voudrez peut-être essayer:

 kill -TERM <pid> 

ou

 kill -TERM `pidof <application_name>` 

Au less sur certains systèmes, lorsque le système est en cours d'arrêt, tous les process reçoivent le signal TERM (15) avant d'être envoyés au signal KILL (9). HUP fait souvent juste que l'application recharge ses configs, mais elle peut être différente sur une base process par process.

Il n'y a pas de moyen général de dire à une application de quitter et de sauvegarder sa configuration. Il peut y avoir des façons de notifier les applications en utilisant un framework particulier, par exemple dcop kfoo MainApplication-Interface quit pour certaines applications KDE 3. Notez que l'application peut afficher une boîte de dialog vous demandant de confirmer.

Si l'affichage X devient inutilisable, tuez le server X. Appuyez sur Ctrl + Alt + BackSpace ; si cela ne fonctionne pas, tuez le process du server X avec sudo pkill -x Xorg . Quand le server X meurt, toutes les applications X sont notifiées et elles essaieront de sortir avec élégance (il n'y a aucune garantie qu'elles sauveront tout, mais c'est votre meilleur choix).

En réponse à la réponse de @ andcoz, si vous ne connaissez pas le PID de l'application (je suppose que vous ne le savez pas par cœur), essayez ceci:

 kill -HUP `pidof [application_name]` 

Deux autres commands que vous pouvez envisager sont wmctrl -c et xdotool windowkill . Je ne suis pas sûr si windowkill est exactement ce que vous searchz, sinon vous pourriez être intéressé par le patch windowdelete .