Bu tanımı bir systemd
iş için kullanıyorum :
[Unit]
Description=Some job
[Service]
ExecStart=/usr/local/sbin/somejob
User=dlt
Type=forking
[Install]
WantedBy=multi-user.target
Komut dosyası şu şekilde adlandırılır (bir tcpip soketini dinleyen ve girdiyi bir dosyaya ekleyen basit bir rutini çağırır):
#!/bin/sh
cd /home/user/tmp/testout
nohup java -jar /home/user/programming/tests/java/core/SocketTest/SocketTest.jar </dev/null >/dev/null &
Sonra systemctl start somejob
ile çalışan işlem gösterir init
kendi ebeveyn olarak:
user@CANTANDO ~$ ps -u dlt eo pid,ppid,command
PID PPID COMMAND
8718 1 java -jar /home/user/programming/tests/java/core/SocketTest/SocketTest.jar
İşlemden sonra systemctl stop somejob
işlem artık gösterilmiyor (ve bağlantı noktası kapalı).
Yani her şey güzel ve züppe görünüyor
Sorum şu: Bu bir java daemon'u çalıştırmak için kabul edilebilir bir çözümsystemd
mü, yoksa uyarılar mı var ve bu yüzden bunu başarmak için daha kararlı veya güvenli yollar var mı?