Comment faire pour arrêter l'exécution d'un programme Java en ligne de Commande?
Mon principal champ .Net, mais récemment, j'ai eu quelque chose à voir avec Java. J'ai créer un shell utilitaire en Java qui pourrait fonctionner en arrière-plan de la lecture de quelques enregistrements de base de données après la durée spécifiée et poursuivre le traitement. C'est une sorte de planificateur. Maintenant, j'ai quelques préoccupations:
Façon de faire ce travail en tant que service. Je veux l'exécuter par le biais d'un script shell et la compagnie devrait commencer à courir. Le contrôle doit revenir au script appelant.
Deuxièmement, finalement, j'ai peut vouloir arrêter ce processus de s'exécuter. Comment atteindre cet objectif?
Je comprends que ce sont des questions de base, mais je n'ai vraiment aucune idée de par où commencer et quelles sont les meilleures options pour moi.
Toute aide /conseiller s'il vous plaît?
OriginalL'auteur Aakash | 2010-06-10
Vous devez vous connecter pour publier un commentaire.
Je pencherais pour l'exécution du programme à l'aide d'un planificateur ou d'un service. Cependant, si vous souhaitez utiliser un fichier bat et le faire par programmation, j'ai esquissé une approche possible ci-dessous:
Dans votre programme Java, vous pouvez obtenir le PID de la programmation, et puis les écrire dans un fichier:
Vous pouvez ensuite écrire un arrêt .fichier bat qui va tuer le programme en cours d'exécution dans windows. Vous pourriez faire quelque chose comme:
Bien sûr, app.pid est le fichier écrit en Java de la méthode ci-dessus.
Je ne suis pas sûr de savoir comment vous pouvez écrire un script qui lance un programme java, et revient de contrôle lors de la résiliation. Je serais intéressé de voir si quelqu'un a une solution pour que.
Non, l' .fichier bat est le bit qui est en train de tuer le processus. C'est un peu de VBScript qui est en train de tuer l'application en cours d'exécution. S'il EXISTE app.pid FOR /F %%i in ('type d'application.pid") ne TASKKILL /F /PID %%i Si vous exécutez ce sur *nix, vous pouvez écrire un script shell qui fait la même chose.
OriginalL'auteur Luhar
Je suppose que vous êtes la lecture de votre programme java avec un Linux/Unix boîte.
Pour exécuter votre application en tant que démon, vous pouvez essayer de
Pour arrêter votre application, vous pouvez:
ou
Si vous voulez faire un peu de post-traitement après l'application de la réception de tuer/arrêt du signal. découvrez addShutdownHook(Fil de crochet)
Ou de soleil.misc.SignalHandler
OriginalL'auteur Kent
voir
pid
Ou vous feriez mieux de fournir un arrêt du script que les signaux de l'application, qui ne
System.exit(0)
Vous êtes de droite. Je suis en train de faire de la base de données de travail.
OriginalL'auteur Bozho
Vous ne spécifiez pas de la plate-forme. Si sur Windows, vous devez regarder dans l'intégration avec le Service de Contrôle de créer un service Windows. http://en.wikipedia.org/wiki/Windows_service. Une fois que vous avez mis en œuvre le service de crochets, il est possible de démarrer et d'arrêter le service à travers le service de contrôle de l'interface graphique ou à l'aide de
net stop MyService
la syntaxe de la ligne de commande.OriginalL'auteur bshields
Que je comprends, vous voulez quelque chose comme ceci:
Suis-je droit?
OriginalL'auteur dart