[LINUX] Signale in Java erkennen und verarbeiten.

Fazit

Es ist besser nicht zu.

Was ist überhaupt ein "Signal"?

Signal (Englisch: Signal) ist eine Form der eingeschränkten Kommunikation zwischen Prozessen in POSIX-kompatiblen Betriebssystemen wie UNIX und Unix. Ein Mechanismus zum Übertragen des Auftretens asynchroner Ereignisse zwischen Prozessen oder Threads.

Sie können es beispielsweise mit "Strg + C" stoppen, während das Programm ausgeführt wird. Zu diesem Zeitpunkt wird SIGINT an das Betriebssystem gesendet, ein Kill-Befehl wird ausgegeben und es wird gestoppt.

Signale in Java erkennen

Es gibt eine API namens sun.misc. {Signal, SignalHandler}. Diese API wird jedoch nicht unterstützt und es ist ungewiss, ob sie in Java 9 verbleibt oder verschwindet. https://blogs.oracle.com/java/get-ready-jdk9 erschrocken. sehr gruselig.

Vorerst werde ich dies in dieser Zusammenfassung verwenden.

Lassen Sie uns zunächst herausfinden, welche Signale nicht verwendet werden sollten.

Es gibt ein Signal, dass die VM erfasst, daher möchte ich das vermeiden. Deshalb.

Von der JVM verwendete Signale

http://www.ibm.com/support/knowledgecenter/ja/SSYKE2_7.0.0/com.ibm.java.zos.71.doc/user/sighand.html Wie hier geschrieben, werden die Hauptsignale durchaus verwendet.

Von HotSpot VM verwendete Signale

http://www.oracle.com/technetwork/java/javase/signals-139944.html Auch hier ist das Hauptsignal ziemlich voll. (Es fühlt sich an wie eine JVM)

Was Sie bisher sehen können

Dann benutze SIGRTMIN oder höher! !! !!

Das kann ich nicht sagen. (Aber)

http://d.hatena.ne.jp/Kazuhira/20150422/1429713440 Wie hier geschrieben, kann es nicht nach RTMIN verwendet werden. traurig. Sehr traurig.

Deshalb

Nachdem ich bisher einen ganzen Tag verbracht hatte, entschied ich mich für eine andere Methode. Glücklicherweise war es nicht erforderlich, "das Signal zu erkennen", so dass es wahrscheinlich ein anderer Weg ist. Bitte seien Sie vorsichtig, wenn eine ** Anforderung zum "Erkennen eines Signals" ** besteht.


** Aber es ist gut, weil ich gelernt habe !!! **
das ist alles.

Recommended Posts

Signale in Java erkennen und verarbeiten.
Überlappende reguläre Ausdrücke in Python und Java
Unterschiede zwischen Python- und Java-Syntax
Ich habe eine Klasse in Python3 und Java geschrieben
Fassadenmuster in Java
Singleton-Muster in Java
Fliegengewichtsmuster in Java
Verarbeiten Sie Signale in C-Sprache
Beobachtermuster in Java
Linux-Berechtigungen für Java
Verwenden Sie DataFrame in Java
Iteratormuster in Java
Dekorationsmuster in Java
Prototypmuster in Java
Proxy-Muster in Java
Poisson-Verteilung und kumulative Poisson-Verteilung über SQLite in Python und Java
Ich habe versucht, den Chi-Quadrat-Test in Python und Java zu programmieren.
Entfernen Sie führende und nachfolgende Leerzeichen in Python, JavaScript oder Java
Koordination jedes Prozesses im MPI und Pufferung der Standardausgabe
Zeichnen wir ein Diagramm der Poisson-Verteilung und der kumulativen Poisson-Verteilung in Python bzw. Java.
Unterschied zwischen Prozess und Job
Clipping und Normalisierung in TensorFlow
Ich habe Java und Python verglichen!
Stapel und Warteschlange in Python
Muster der Vorlagenmethode in Java
Unittest und CI in Python
Erkennen Sie Tastenanschläge in Python (tty)
Implementieren Sie den Gaußschen Prozess in Pyro
Lösen in Ruby, Python und Java AtCoder ABC141 D Priority Queue
Ich habe versucht, die Docomo-Spracherkennungs-API und die Google Speech-API in Java zu verwenden
So zeigen Sie Bytes in Java und Python auf die gleiche Weise an