Mematikan Proses Server Dengan Lebih Aman
Halaman ini memperkenalkan cara untuk mematikan secara aman proses server yang sedang berjalan menggunakan sinyal.
Ketika Anda memulai pemrosesan server dengan Server.Run(Handler)
, server akan menghentikan proses dan menunggu sinyal masuk.
Ada dua jenis sinyal yang dapat dikirim ke program yang sedang berjalan untuk mematikan proses secara aman.
-
TSTP: Sinyal ini memberitahu
Server
untuk berhenti menangani tugas-tugas baru. -
TERM atau INT: Sinyal ini memberitahu
Server
untuk mematikan (yaitu, menutup).
Disarankan untuk mengirimkan sinyal TSTP terlebih dahulu untuk menghentikan penanganan tugas-tugas baru, dan menunggu semua tugas yang sedang berlangsung selesai sebelum mengirimkan sinyal TERM untuk mengakhiri program.
Gunakan perintah kill
untuk mengirim sinyal.
kill -TSTP # Berhenti menangani tugas-tugas baru
kill -TERM # Matikan server
Catatan: Jika sinyal TERM atau INT dikirim tanpa mengirimkan sinyal TSTP, Server
akan memulai pengatur waktu dan menunggu selama 8 detik agar semua pekerja selesai (untuk menyesuaikan durasi waktu ini, gunakan konfigurasi ShutdownTime
). Jika ada pekerja yang belum selesai dalam jangka waktu tersebut, tugas-tugas akan kembali ke status pending dan akan ditangani lagi saat program dijalankan ulang.
Catatan: Saat ini, Windows tidak mendukung sinyal TSTP.