Hentikan Apache dengan anggun


24

Apakah ada cara untuk menghentikan server Apache tanpa menghentikan permintaan eksekusi, pada dasarnya cara untuk mengatakannya - jangan menerima koneksi lagi dan ditutup ketika Anda menyelesaikan yang sekarang?

Jawaban:



12

Gunakan apachectl -k graceful-stopdari sini :

WINCH atau sinyal berhenti anggun menyebabkan proses orangtua menyarankan anak-anak untuk keluar setelah permintaan mereka saat ini (atau segera keluar jika mereka tidak melayani apa-apa). Orang tua kemudian akan menghapus PidFile dan berhenti mendengarkan pada semua port. Orang tua akan terus berlari, dan memantau anak-anak yang menangani permintaan. Setelah semua anak selesai dan keluar atau batas waktu yang ditentukan oleh GracefulShutdownTimeout telah tercapai, orang tua juga akan keluar.


1

Perlu diingat bahwa sys-v init digunakan untuk melakukan stop anggun secara default dan memaksa-berhenti sebagai opsi tambahan. Opsi "khusus" untuk berhenti dengan anggun hanya diperlukan jika Anda menjalankan manajer proses khusus yang biasanya membunuh proses.


Jawaban ini dapat memberi kesan bahwa karena systemdbukan manajer proses khusus, itu tidak mematikan proses. Namun, secara default systemd juga melakukan stopbukan graceful-stopuntuk apache.
B. Miller

4
@ B.Miller jika systemd Anda melakukan penghentian dan bukannya penghentian yang anggun, itu adalah bug khusus OS yang perlu dicatat. Arch Linux dan CentOS 7 keduanya melakukan berhenti anggun.
Harald

Debian juga berhenti dengan anggun
John Keates

2
@JohnKeates Menarik ... mungkin ini spesifik Ubuntu 18.04. 18.04 menggunakan perintah stop/usr/sbin/apachectl stop
B. Miller
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.