Trong công ty tôi đang làm việc hiện có một dịch vụ kế thừa và tập lệnh init của nó đang sử dụng SysvInit cũ, nhưng đang chạy trên systemd (CentOS 7).
Bởi vì có rất nhiều tính toán, dịch vụ này mất khoảng 70 giây để hoàn thành. Tôi đã không định cấu hình bất kỳ thời gian chờ nào cho systemd và không thay đổi cấu hình mặc định tại /etc/systemd/system.conf
, nhưng khi tôi thực hiện service SERVICE stop
dịch vụ của mình thì hết thời gian sau 60 giây.
Kiểm tra với journalctl -b -u SERVICE.service
tôi tìm thấy nhật ký này:
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]
Tôi đã cố gắng thay đổi DefaultTimeoutStopSec
bất động sản tại /etc/systemd/system.conf
đến 90s
, nhưng thời gian chờ vẫn xảy ra.
Có ai có ý tưởng tại sao nó hết thời gian ở tuổi 60 không? Có nơi nào khác mà giá trị thời gian chờ này được cấu hình không? Có cách nào tôi có thể kiểm tra nó?
Dịch vụ này chạy với java 7 và để daemonize nó, nó sử dụng JSVC . Tôi cấu hình -wait
tham số với giá trị 120
.
TimeoutSec=infinity
- không thể khối này khởi động lại vô thời hạn? Điều gì xảy ra nếu quá trình "thoát" mãi mãi? Tôi muốn đề xuất một số tiền lớn, như5min
, nhưng có lẽ là khônginfinity
...