Di perusahaan saya bekerja sekarang ada layanan warisan dan skrip init-nya menggunakan SysvInit lama, tetapi berjalan di systemd (CentOS 7).
Karena ada banyak perhitungan, layanan ini membutuhkan waktu sekitar 70 detik untuk menyelesaikannya. Saya tidak mengkonfigurasi batas waktu untuk systemd, dan tidak mengubah konfigurasi default di /etc/systemd/system.conf
, tetapi masih ketika saya menjalankan service SERVICE stop
layanan saya waktu setelah 60 detik.
Memeriksa dengan journalctl -b -u SERVICE.service
saya menemukan log ini:
Sep 02 11:27:46 service.hostname systemd[1]: Stopping LSB: Start/Stop
Sep 02 11:28:46 service.hostname SERVICE[24151]: Stopping service: Error code: 255
Sep 02 11:28:46 service.hostname SERVICE[24151]: [FAILED]
Saya sudah mencoba mengubah DefaultTimeoutStopSec
properti /etc/systemd/system.conf
menjadi 90s
, tetapi batas waktu masih terjadi.
Adakah yang tahu mengapa waktu habis di 60-an? Apakah ada tempat lain yang nilai batas waktu ini dikonfigurasi? Apakah ada cara saya bisa memeriksanya?
Layanan ini berjalan dengan java 7 dan untuk daemonize, ia menggunakan JSVC . Saya mengkonfigurasi -wait
parameter dengan nilai 120
.
TimeoutSec=infinity
- tidakkah mungkin blok ini akan reboot tanpa batas waktu? Bagaimana jika dibutuhkan "selamanya" untuk proses itu keluar? Saya sarankan sejumlah besar, seperti5min
, tapi mungkin tidakinfinity
...