Saya punya node.js dan pm2 diinstal pada Pi (Raspbian). PM2 dikonfigurasi untuk memulai melalui pm2 startup
dan skrip init yang dibuatnya. Kadang-kadang ketika saya reboot, shutdown hang selama beberapa menit pada:
A stop job is running for LSB: PM2 init script (... / 5min)
Setiap sekali-sekali 1 apa yang saya mengasumsikan adalah PM2 tidak dimatikan dengan benar dan hang untuk penuh 5 menit.
Pada sistem ini, saya tahu persis apa yang dikelola aplikasi PM2 dan saya benar-benar tidak peduli jika mereka dimatikan dengan benar.
Pertanyaan saya adalah: Bagaimana cara mengurangi batas waktu dari 5 menit menjadi, katakanlah, sekitar 15 detik? Di mana ini dikonfigurasi?
Saya membaca di forum bahwa itu adalah DefaultTimeoutStopSec
kunci di /etc/systemd/system.conf , jadi saya mencoba mengaturnya ke "15s" tetapi tidak berpengaruh. Saya mencoba hal yang sama di /etc/systemd/user.conf , juga, tetapi tidak ada perubahan. Batas waktu masih diatur ke 5 menit.
1 Saya benar-benar tahu secara spesifik apa yang memicu ini, tetapi detailnya tidak penting dan efeknya tidak dapat dihindari.
stop
skrip (default) , Anda dapat menulis ulang skrip untuk menjalankanforcestop
atau bahkan membunuhpm2
daripada mematikan dengan anggun.stop
skrip init pm2 tidak melakukan apa-apa, dan membiarkannya mati secara alami pada saat shutdown. Ini solusi mengerikan untuk penggunaan umum tetapi pada sistem khusus ini tidak masalah. Saya masih ingin tahu cara mengubah batas waktu 5 menit.Jawaban:
Anda membangun kembali systemd dari sumber, menambal batas waktu bawaan
systemv-sysv-generator
dariTimeoutSec=5min
apa pun yang Anda inginkan. Atau Anda meminta orang-orang systemd untuk kenop kontrol di suatu tempat di header Fedora / SUSE atau LSB.Atau, di sisi lain, Anda menyerah menggunakan
rc
skrip ini yang Anda miliki dan menulis unit layanan systemd untuk layanan Anda, yang timeout-nya dapat Anda atur denganTimeoutSec=
pengaturan eksplisit , diinstal dengan file pengaturan drop-in/etc/systemd/system/pm2.service.d/timeout.conf
jika diperlukan.Mengingat ini , ini , ini , ini , ini , dan lainnya, aturan pertama untuk bermigrasi ke systemd juga berlaku di sini.
Bacaan lebih lanjut
sumber
/etc/systemd/system.conf
memiliki garis#DefaultTimeoutStopSec=90s
yang dapat dibatalkan komentar dan diubah
sumber
nvme
drive - untuk shutdown sangat cepat menggunakan Alpine Linux (nosystemd
)