R
reNur
Gast
Hallo,
ich würde gerne testweise eine Java-Applikation unter Linux im Hintergrund laufen lassen. Die Applikation will ich von aussen durch ein SIGTERM beenden (es müssen noch verschiedene Ressourcen usw. freigegeben werden).
Bis jetzt mach die Applikation gar nichts, wenn ich in der Console ein kill -15 <PID> bzw. kill -s TERM <PID> eingebe.
Mit kill -9 <PID> funktioniert das ganze natürlich.
Ein shutdownHook mit
funktioniert auch nur, wenn sich die Applikation selbst beendet. Mit kill -15 passiert gar nichts, mit kill -9 wird der hook logischerweise nicht ausgeführt, da die ganze JVM ja ohne Vorwanung beendet wird.
Muss ich irgendwas beachten, wenn ich ein Java-Programm starte, dass ich noch anders als mit kill -9 beenden will?
ich würde gerne testweise eine Java-Applikation unter Linux im Hintergrund laufen lassen. Die Applikation will ich von aussen durch ein SIGTERM beenden (es müssen noch verschiedene Ressourcen usw. freigegeben werden).
Bis jetzt mach die Applikation gar nichts, wenn ich in der Console ein kill -15 <PID> bzw. kill -s TERM <PID> eingebe.
Mit kill -9 <PID> funktioniert das ganze natürlich.
Ein shutdownHook mit
Java:
Runtime.getRuntime().addShutdownHook( new Thread() {
@Override
public void run()
{
System.out.println( "### this is a shutdown hook ###" );
}
} );
funktioniert auch nur, wenn sich die Applikation selbst beendet. Mit kill -15 passiert gar nichts, mit kill -9 wird der hook logischerweise nicht ausgeführt, da die ganze JVM ja ohne Vorwanung beendet wird.
Muss ich irgendwas beachten, wenn ich ein Java-Programm starte, dass ich noch anders als mit kill -9 beenden will?
Zuletzt bearbeitet von einem Moderator: