Apache2ctl “-k” bayrağı nedir?


11

Bir saattir çalışıyorum ve onu kullanan yüz tane örnek buldum, ama ne yaptığına dair bir açıklama yok. Ben kontrol ettim man apache2ctl; k bayrağını da açıklamaz (örneklerde kullansa da).

Yanıtlar:


8

Evet, açıklamaya biraz gömülü :

Doğrudan geçiş modunda hareket ederken apachectl, httpdikili dosya için kullanılabilir tüm argümanları alabilir .

apachectl [ httpd-argument ]

Öyleyse, httpdokümantasyonuna bakalım :

-k start|restart|graceful|stop|graceful-stop

httpdBaşlatma, yeniden başlatma veya durdurma sinyalleri .

Yani kullanırsanız -k <option>, sadece httpdbu argümana ihtiyaç duyacaksınız .

Eğer kullanmıyorsanız -k, apache2ctlbunun yerine yine aynıdır kendisini idare edecek bu komutlar, arayacaktır httpdalacaktı.


Kaynak koduna bakıldığında, bir caseifadenin ilk argümanın tanınan dahili komutlardan biri olup olmadığını ve son olarak (bir geri dönüş olarak) her şeyin aktarıldığını kontrol ettiği bu davranış görüntülenir httpd.

case $ARGV in
start)
  HTTPD ${APACHE_ARGUMENTS} -k $ARGV # <= note the -k here
  # ...
stop|graceful-stop)
  # ...
# ...
*)
    $HTTPD ${APACHE_ARGUMENTS} $ARGV
    ERROR=$?
esac

Ben bu konuda yeniyim. K bayrağını ommitting gerçekte ne yapacağını açık bir şekilde İngilizce açıklayabilir misiniz? Ubuntu sunucumda, k bayrağını kullanırsam kullanmam fark etmez, her zaman anlatabildiğim kadarıyla başarıyla yeniden başlatılır.
BadHorsie

Gördüğün normal. Dediğim gibi, eğer kullanmazsanız -k, apachectlkomutların kendisini idare eder, ancak aynı şeyi yapar httpd. Kullanırsanız -k, komut olduğu gibi iletilir httpd.
slhck

Hala işlevsellik açısından ne anlama geldiğini bilmiyorum, dürüst olmak gerekirse, ama o zaman -k bayrağını kullanmanın önemli olmadığını söylüyorsun, aynı şeyi dolambaçlı bir şekilde yapacak ?
BadHorsie

1
Ben de öyle söylüyorum, evet. Her ikisinin de çalışması tarihsel nedenlerden ötürü.
slhck

"biraz gömülü" mü? Bunu neden aramıyorsunuz - apache belgeleri gerçekten berbat. Bunun tarihsel nedenlerle değil, diğer argümanların httpd'ye aktarılmasından kaynaklandığını da sanmıyorum.
Palo

2

Eklemek için düzenleyin: Üzgünüm, benden daha hızlı slhck türleri: D

'apache2ctl' aslında 'httpd' yürütülebilir dosyasının yalnızca bir ön ucudur ve SysV init komut dosyası olmasını isteyip istemediğinize veya httpd yürütülebilir dosyasına doğrudan geçiş yapmak isteyip istemediğinize bağlı olarak iki modda çalışır. -K aslında httpd'ye aktarılır.

http://httpd.apache.org/docs/2.2/programs/apachectl.html

Doğrudan geçiş modunda hareket ederken apachectl, httpd ikili dosyası için mevcut tüm argümanları alabilir.

apachectl [httpd-argüman]

Httpd man sayfasından http://httpd.apache.org/docs/2.2/programs/httpd.html

-k start | restart | graceful | stop | graceful-stop Başlatmak, yeniden başlatmak veya durdurmak için httpd sinyalleri.

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.