Die Dokumentation für Xrs sagt
Reduziert die Verwendung von Betriebssystem-Signale, die von der Java VM.
Das bedeutet, dass die JVM nur weniger eigene Signalhandler installiert. Weniger Signalhandler bedeuten einfach, dass mehr Signale über ihre default action behandelt werden. Dies führt in vielen Fällen zu einer Beendigung des Prozesses.
Signale können entweder durch eine signal mask unterdrückt werden, verarbeitet durch eine signal handler oder verschiedene andere Mittel.
Derzeit bietet das JDK keine öffentlichen APIs, aber Sie können entweder interne, nicht unterstützte (sun.misc.SignalHandler
) oder jnr-posix verwenden.
Oder wenn Sie meist über Ctrl + C und andere Tastenanschläge sorgen und nicht wirklich die Signale selbst Sie den Java-Prozess von der Konsole über nohup java -jar ... > /dev/null &
Warum wollen Sie das tun lösen kann? Ich vermute, dass es nicht möglich ist, es richtig zu machen - SIGKILL zum Beispiel kann nicht einfach gefangen und ignoriert werden - es * wird * den Prozess beenden, es sei denn, es ist in unterbrechungsfreiem Schlaf, so oder so wird der Prozess nichts nützliches tun nach Erhalt einer SIGKILL. – sisyphus
fixe Formulierungen, Marker – fluter