Zarif bir şekilde Apache'yi durdurun


23

Apache sunucusunu yürütme isteklerini sonlandırmadan durdurmanın bir yolu var mı, temelde bunu söylemenin bir yolu var - mevcut bağlantılarınızı bitirdiğinizde daha fazla bağlantı kabul etmeyin ve kapanmıyor mu?

Yanıtlar:



12

Kullan apachectl -k graceful-stopdan burada :

WINCH veya zarif-durma sinyali, ana sürecin çocuklara mevcut isteklerinden sonra çıkmalarını ya da herhangi bir şeye hizmet etmiyorlarsa derhal çıkmalarını bildirmelerini sağlar. Ebeveyn daha sonra PidFile öğesini kaldırır ve tüm bağlantı noktalarında dinlemeyi durdurur. Ebeveyn koşmaya ve istekleri yerine getiren çocukları izlemeye devam edecektir. Tüm çocuklar sonlandırılıp çıktıktan sonra veya GracefulShutdownTimeout tarafından belirtilen zaman aşımına ulaşıldığında, ebeveyn de çıkacaktır.


1

Sys-v init'in varsayılan olarak zarif bir duruş yapmak için kullanıldığını ve ekstra bir seçenek olarak zorlamayı durdurduğunu unutmayın. Nazikçe durdurmak için "özel" bir seçenek yalnızca normalde işlemleri öldüren özel bir işlem yöneticisi çalıştırıyorsanız gereklidir.


Bu cevap, systemdözel bir süreç yöneticisi olmadığı için süreci öldürmediği izlenimini verebilir . Bununla birlikte, varsayılan olarak systemd ayrıca stopbir graceful-stopapache için de değil .
B. Miller

4
@ B.Miller eğer sisteminiz zarif bir stop yerine bir stop gerçekleştirirse, kaydedilmesi gereken işletim sistemine özgü bir hata vardır. Arch Linux ve CentOS 7'nin her ikisi de zarif durur.
Harald

Debian da zarif bir şekilde durur
John Keates

2
İlginç @JohnKeates ... belki de bu Ubuntu 18.04 özgüdür. 18.04 stop komutunu kullanır/usr/sbin/apachectl stop
B. Miller
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.