Contenu | Rechercher | Menus

Annonce

Si vous rencontrez des soucis à rester connecté sur le forum (ou si vous avez perdu votre mot de passe) déconnectez-vous et reconnectez-vous depuis cette page, en cochant la case "Me connecter automatiquement lors de mes prochaines visites".

#1 Le 20/01/2014, à 12:07

jdt37b

[Résolu] Script : fermer proprement un programme

Bonjour,

Quelle est la commande pour fermer proprement un programme, l'équivalent d'un clic sur un bouton "Quitter" ou "Fermer"  ?
(avec "killall xxxx", j'ai ensuite en réouverture "le programme a été interrompu")
Merci !

Dernière modification par jdt37b (Le 22/01/2014, à 14:32)


Shuttle SB61V40 - Pentium 4 à 2Ghz - 1Mo - Carte Intel 82865g Graphics Controller
Voyager 12.04 LTS  customisé 12.10  à 13.10 -  32 bits

Hors ligne

#2 Le 20/01/2014, à 19:54

melixgaro

Re : [Résolu] Script : fermer proprement un programme

Salut,

Je dirais d'essayer

kill -TERM PID

où tu remplaces PID par le code du programme
ou bien

pkill -TERM NAME

où tu remplaces NAME par le nom du programme.
Attention, la première commande permet de sélectionner les instances du programme que tu veux arrêter alors que la deuxième va toutes les fermer. Donc si tu as plusieurs fenêtres gedit ouvertes (ayant comme numéro de processus 12345, 12346, 12347), avec

pkill -TERM gedit

tu vas toutes les fermer d'un coup
mais avec

kill -TERM 12345 12346

tu n'en fermeras que deux sur trois.

Ces deux commandes envoient le signal TERM au(x) programme(s). TERM est un signal d'extinction propre : elles demandent gentiment au programme de s'éteindre.

Pourrais-tu donner plus de détail ? Par exemple, le programme que tu cherches à fermer.

Remarque : si j'ai bien compris la page de manuel, la commande killall fait de même par défaut (envoi du signal TERM) sauf si tu précises d'utiliser le signal KILL au lieu de TERM. Le signal KILL force l'extinction du programme sans lui demander son avis. Donc je ne suis pas certain que ma proposition y fasse quelque chose. Mais sait-on jamais...

Dernière modification par melixgaro (Le 20/01/2014, à 19:56)


Utilisateur Linux depuis ~2007 : Mandriva 2007 => Ubuntu 8.04 => Ubuntu 8.10 => Opensuse 10 => Ubuntu 9.10 => Fedora 11 => Ubuntu 10.04 => Ubuntu 10.10 [la meilleure des ubuntu avant la cata unity] => Xubuntu 11.10 => Xubuntu 12.04 => Xubuntu 12.10 => Xubuntu 13.10

Hors ligne

#3 Le 21/01/2014, à 09:30

jdt37b

Re : [Résolu] Script : fermer proprement un programme

Bonjour,
Dans mon script, les commandes proposées ne ferment pas mieux l'appli concernée (Musescore).
Quel signal est envoyé par le bouton "Quitter" ? : je sèche


Shuttle SB61V40 - Pentium 4 à 2Ghz - 1Mo - Carte Intel 82865g Graphics Controller
Voyager 12.04 LTS  customisé 12.10  à 13.10 -  32 bits

Hors ligne

#4 Le 21/01/2014, à 13:55

serged

Re : [Résolu] Script : fermer proprement un programme

jdt37b a écrit :

Bonjour,
Dans mon script, les commandes proposées ne ferment pas mieux l'appli concernée (Musescore).
Quel signal est envoyé par le bouton "Quitter" ? : je sèche

Ça dépend du programme...
Par exemple je lance un :

pkill firefox

Au redémarrage de Firefox, tout se passe bien.

Pour quel programme ? Il y a peut-être une commande spéciale pour le fermer proprement.


Linux-Mint Petra 64 (Cinnamon) sur ASUS F2A55/AMD A8-5600K APU

Hors ligne

#5 Le 22/01/2014, à 11:07

jdt37b

Re : [Résolu] Script : fermer proprement un programme

Il était indiqué ci-dessus : Musescore (à noter aussi que les modifications de préférences ne sont pas sauvegardées si fermeture avec pkill)


Shuttle SB61V40 - Pentium 4 à 2Ghz - 1Mo - Carte Intel 82865g Graphics Controller
Voyager 12.04 LTS  customisé 12.10  à 13.10 -  32 bits

Hors ligne

#6 Le 22/01/2014, à 12:16

Elzen

Re : [Résolu] Script : fermer proprement un programme

Salut,

kill, killall et assimilés balancent un truc assez bourrin (même si certains programmes peuvent récupérer le SIGTERM pour se fermer proprement, ça n'est pas le cas de tous. Généralement, les applications graphiques ne le font pas).

Si ton programme a une fenêtre ouverte, le mieux, c'est de demander à X de la fermer proprement (ce qui correspond à un événement graphique, et pas à un signal envoyé à l'appli, d'où le fait que tu ne trouves pas wink)

Il existe un petit utilitaire qui permet notamment ça, très pratique, malheureusement pas installé par défaut, mais présent dans les dépôts : wmctrl. Le man est assez détaillé, n'hésite pas à le consulter pour regarder les différentes options.


Elzen : polisson, polémiste, polymathe ! (ex-ArkSeth)
Un script pour améliorer quelques trucs du forum.
La joie de t'avoir connu surpasse la peine de t'avoir perdu…
Parolier amateur cherche partenaires pour musique libre (avec « et plus si affinités », c'est plus poli).

Hors ligne

#7 Le 22/01/2014, à 14:13

jdt37b

Re : [Résolu] Script : fermer proprement un programme

Merci Elzen.
C'est nickel, la commande 

wmctrl -c MuseScore

ferme très proprement comme le bouton  "Quitter"


Shuttle SB61V40 - Pentium 4 à 2Ghz - 1Mo - Carte Intel 82865g Graphics Controller
Voyager 12.04 LTS  customisé 12.10  à 13.10 -  32 bits

Hors ligne

#8 Le 22/01/2014, à 14:22

Elzen

Re : [Résolu] Script : fermer proprement un programme

De rien smile

Si c'est bon, tu peux passer le sujet en résolu wink


Elzen : polisson, polémiste, polymathe ! (ex-ArkSeth)
Un script pour améliorer quelques trucs du forum.
La joie de t'avoir connu surpasse la peine de t'avoir perdu…
Parolier amateur cherche partenaires pour musique libre (avec « et plus si affinités », c'est plus poli).

Hors ligne

#9 Le 25/01/2014, à 17:50

melixgaro

Re : [Résolu] Script : fermer proprement un programme

salut,

merci j'ai appris un truc. je pensais naivement que cliquer sur la croix d'une fenêtre ou faire « fichier -> quitter » équivalait systématiquement à un pkill -TERM.
... et je ne savais pas (ou alors j'avais oublié) que wmctrl pouvait fermer un programme.

Amitiés


Utilisateur Linux depuis ~2007 : Mandriva 2007 => Ubuntu 8.04 => Ubuntu 8.10 => Opensuse 10 => Ubuntu 9.10 => Fedora 11 => Ubuntu 10.04 => Ubuntu 10.10 [la meilleure des ubuntu avant la cata unity] => Xubuntu 11.10 => Xubuntu 12.04 => Xubuntu 12.10 => Xubuntu 13.10

Hors ligne

Haut de page ↑