Bir Java işlemini (Red Hat 6.4) Linux'ta hizmet olarak çalıştırmam gerekiyor (Önyükleme sırasında çalışması ve kalması gerekir). "Hizmet Yapılandırması" penceresinde doğru şekilde görünmüyor olması dışında çoğunlukla çalışıyorum. Örnek olarakJava işlemini Linux'ta Hizmet Olarak Çalıştırma
, basit bir Java programı yaptı:
package service;
public class JavaService {
public static void main(String args[]){
System.out.println("Starting Java-Service");
while(true){
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("Java-Service is still running..");
}
}
}
O kadar jarred ve bu konumda koydu:
Sonra/opt/hizmet/lib, bu senaryoyu oluşturuldu:/opt/hizmet/bin/run_java_service
#!/bin/tcsh
#
# chkconfig: 2345 80 30
# description: java-service Service
setenv JAVA_SERVICE_HOME /opt/service
setenv CLASSPATH $JAVA_SERVICE_HOME/lib/JavaService.jar
setenv SERVICE_PID `ps aux | grep JavaService | grep -v grep | awk '{print $2}'`;
if ((stop == $1 || restart == $1)) then
echo "java-service stop";
kill -9 $SERVICE_PID
setenv SERVICE_PID
endif
if (start == $1 || restart == $1) then
if($SERVICE_PID) then
echo "java-service is already running"
else
echo "java-service start";
java service.JavaService&
endif
endif
if (status == $1) then
if($SERVICE_PID) then
echo "java-service (pid $SERVICE_PID) is running...";
else
echo "java-service is stopped";
endif
endif
sonra /etc/rc.d/init.d dizininde bu bir sembolik oluşturulan ve chkconfig bunu ekledi:
sudo service java-service stop
sudo service java-service start
sudo service java-service status
sorun şeyler "Hizmet Yapılandırması" iletişim kutusunda doğru statusing olmamasıdır: Bu noktada
sudo ln –s /opt/service/bin/run_java_service /etc/rc.d/init.d/java-service
sudo chkconfig --add java-service
, komut satırından beklendiği gibi bu işi gibi komutları. Örneğin, bu ekran görüntüsünde, "Durdurma Düğmesi" ni tıklattım ve hala "takılı" olarak görünüyor.
ben eksik bulmacanın Ne parçası mı?
hangi kullanıcı işe başlıyor ve hangi kullanıcıların durduğunu tıklıyor? –
kökü işi başlatır ve kök işi durdurur – systemoutprintln