Comment se fermer correctement Eclipse à partir de Linux en ligne de commande?
Est-il un moyen de fermer Eclipse proprement à partir de la ligne de commande, tels que les fichiers et les espaces de travail sont-elles sauvegardées? tuer -3 ne pas faire n'importe quoi. kill -1 et kill -15 (par défaut) les causes de l'Éclipse pour quitter brusquement avec la JVM de résiliation popup. kill -9 fait la même chose.
Le cas d'utilisation, c'est que je suis en train de travailler à distance sur une machine avec Eclipse chargé sur elle, et je veux économiser de la mémoire en clôture de l'Éclipse, mais je veux Eclipse pour enregistrer son état premier.
Je pourrais utiliser VNC ou une autre logiciel de partage de bureau, mais c'est vraiment lourd, et je préfèrerais une ligne de commande solution.
EDIT: Système d'info: RHEL5.1 64 bits à l'aide de GNOME
Vous devez vous connecter pour publier un commentaire.
Ajouté
ShutdownHooks
(plus d'info ici) doit être exécuté par la JVM lorsque se termine parSIGTERM
. Donc, je pense que le problème est la voie de l'Éclipse est programmé pour faire face à de tels signaux.Que je ne sais pas comment le processus de nettoyage est mis en œuvre dans Eclipse, je ne peux que supposer qu'il n'est pas appelée par n'importe quel
ShutdownHook
(et plutôt par unAction
ou quelque chose de similaire).Edit: pidge a fourni une réponse ci-dessous cependant, qui détaille les étapes qui devrait vous permettre de fermer Eclipse proprement à partir de la ligne de commande.
IWorkbench.close()
. Ou eclipse et le lanceur peut être mis à jour pour supporter de plus que l'openFile action. Mais il n'y a rien qui vient avec eclipse par défaut.J'ai compris cela, avec l'aide de gigi répondre et une autre question. Vous allez avoir besoin de le
wmctrl
etxdotool
utilitaires à partir de votre gestionnaire de paquets.Sauf si vous êtes en cours d'exécution dans un émulateur de terminal sur le même écran, vous devez configurer l'affichage de droite:
Ensuite (inutiles de windows ramené à partir de l'exemple):
A fonctionné pour moi sur Ubuntu 12.04, au moins.
EDIT: Voir Scarabeetle réponse pour les réglages que vous besoin pour le faire fonctionner à partir d'un script.
xdotool search Exit
est inutile, car il renvoie la forme décimale de0x03003c2d
. Vous pouvez utiliser directement le hex ID de Fenêtre dewmctrl -l
commexdotool key --window 0x03003c2d Return
et de passer l'étape de recherche.Pas assez de réputation pour commenter pidge réponse ci-dessus...
Il fonctionne presque, mais j'ai eu besoin d'attendre un certain Gnome3 animation se termine et ensuite de donner le focus à la "Confirmer la Sortie de la fenêtre":
Essayer de tuer des processus java(es). Ne
ps -ea | grep java
Avez-vous essayé avec wmctrl?
wmtrl -l
les listes de windows et
wmlctrl -c -P
doit fermer la fenêtre.
De toute façon, vous pourriez avoir des problèmes avec la boîte de dialogue de confirmation de l'éclipse.
export DISPLAY=:0.0
si vous utilisez la commande à distance. Voir ma réponse pour une procédure pas à pas.Avez-vous essayé
kill -HUP
(kill -1
)? -- c'est la manière canonique de dire à un processus que celui qui a été en interaction avec elle a disparu et qu'il faut la nettoyer de façon appropriéeLa réponse à cette question a été utile pour moi dans un problème similaire: Eclipse de la pendaison, la façon de le tuer correctement?
Après j'ai tué l'éclipse du processus de la fenêtre Eclipse qui y sont conservés jusqu'à ce que j'ai tué le processus java (je n'ai pas de javaw dans le processus que dans la réponse ci-dessus. J'ai eu un seul "java" processus que lorsqu'ils sont tués résolu le problème).