Il vaut mieux ne pas le faire.
Signal (anglais: signal) est une forme de communication inter-processus limitée dans les systèmes d'exploitation compatibles POSIX tels que UNIX et Unix. Un mécanisme de transmission de l'occurrence d'événements asynchrones entre processus ou threads.
Par exemple, vous pouvez l'arrêter avec Ctrl + C
pendant que le programme est en cours d'exécution,
A ce moment, SIGINT est envoyé au système d'exploitation, une commande kill est émise et il est arrêté.
Il existe une API appelée sun.misc. {Signal, SignalHandler}. Cependant, cette API n'est pas prise en charge et il n'est pas certain qu'elle restera ou disparaîtra dans Java 9. https://blogs.oracle.com/java/get-ready-jdk9 effrayé. très effrayant.
Pour le moment, je vais l'utiliser dans ce résumé.
Il y a un signal que la VM saisit, je voudrais donc éviter cela. Voilà pourquoi.
http://www.ibm.com/support/knowledgecenter/ja/SSYKE2_7.0.0/com.ibm.java.zos.71.doc/user/sighand.html Comme écrit ici, les principaux signaux sont assez utilisés.
http://www.oracle.com/technetwork/java/javase/signals-139944.html Encore une fois, le signal principal est assez utilisé. (Cela ressemble à une JVM)
--Il est plus sûr de ne pas détecter le signal principal (SIGINT ou SIGTERM) --Défini par l'utilisateur (SIGUSR1 / SIGUSR2) est également utilisé
Je ne peux pas dire ça. (Mais)
http://d.hatena.ne.jp/Kazuhira/20150422/1429713440 Comme écrit ici, il ne peut pas être utilisé après RTMIN. triste. Très triste.
Après avoir passé une journée entière jusqu'à présent, j'ai décidé de prendre une autre méthode. Heureusement, ce n'était pas une exigence pour "détecter le signal", donc c'est probablement une autre façon. Veuillez faire attention s'il y a une ** exigence de "détecter un signal" **.
Recommended Posts