Wir haben einen Jboss-Anwendungsserver, der eine Webanwendung ausführt. Wir müssen irgendwo auf der Benutzeroberfläche eine Schaltfläche "Neustart" implementieren, die den Neustart des gesamten Anwendungsservers zur Folge hat. Unsere naive Implementierung bestand darin, unser Skript /etc/init.d mit dem Neustartbefehl aufzurufen. Dadurch wird unser Anwendungsserver heruntergefahren und neu gestartet.Kann Java ein Skript aufrufen, um Java in Solaris neu zu starten?
Es scheint jedoch, dass wenn der Java-Prozess heruntergefahren wird, auch der untergeordnete Prozess, der die Neustart-Skripts ausführt, stirbt, bevor er an den Punkt im Skript gelangt, an dem er den Anwendungsserver erneut startet.
Wir haben versucht, '&' an den Stellen, an denen Skripte aufgerufen werden, zu ändern, aber das hat nicht geholfen. Gibt es etwas, wo man das Script feuern und sterben kann, ohne den Script-Prozess zu zerstören?
Ein anderer Ansatz könnte darin bestehen, init.d so zu konfigurieren, dass der Anwendungsserver beim Stoppen neu gestartet wird. Sie müssen dann nur die JVM herunterfahren und Solaris erneut starten lassen. –