ฉันกำลังติดตั้งใหม่ 10.9 และเซิร์ฟเวอร์ Apache เริ่มต้นคือorg.apache.httpd: Already loadedหลังจากการเริ่มต้นแต่ละครั้ง มีวิธีปิดใช้งานการเริ่มอัตโนมัติหรือไม่
ฉันกำลังติดตั้งใหม่ 10.9 และเซิร์ฟเวอร์ Apache เริ่มต้นคือorg.apache.httpd: Already loadedหลังจากการเริ่มต้นแต่ละครั้ง มีวิธีปิดใช้งานการเริ่มอัตโนมัติหรือไม่
คำตอบ:
OS X จัดให้มีlaunchctlการควบคุม daemons ที่จะเริ่มต้นในเวลาบูต
วิธีหยุดและปิดการใช้งาน Apache:
พิมพ์คำสั่งต่อไปนี้ (พิมพ์รหัสผ่านเข้าสู่ระบบของคุณเมื่อsudoร้องขอ):
sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist
คำไม่กี่คำบนlaunchctlของ-wตัวเลือก
-wตัวเลือกเป็น bullet เงินสำหรับการหยุด / ปิดการใช้งาน Apache มันบอกว่าlaunchctlจะทำงานของมันโดยไม่คำนึงถึงการตั้งค่าใด ๆ ที่จะป้องกันไม่ให้ขนถ่ายบริการดังที่อธิบายไว้ในman launchctl:
-w Overrides the Disabled key and sets it to false or true for the load and
unload subcommands respectively. In previous versions, this option would
modify the configuration file. Now the state of the Disabled key is stored
elsewhere on- disk in a location that may not be directly manipulated by any
process other than launchd.
(ปรากฎว่าใน OS X Mavericks (10.9) "ที่อื่นในดิสก์" คือ/private/var/db/launchd.db/com.apple.launchd/overrides.plist)
-wตัวเลือกที่จะขาดไม่ได้ถ้าคุณเริ่มต้นด้วย Apache apachectl start: ตามที่อธิบายไว้ในคำตอบ Superuser นี้ apachectlไม่เพียงแค่เริ่ม Apache แต่ยังปรับเปลี่ยน/private/var/db/launchd.db/com.apple.launchd/overrides.plistเช่นนี้:
<key>org.apache.httpd</key>
<dict>
<key>Disabled</key>
<false/>
</dict>
ในกรณีนี้คุณสามารถใช้apachectl:
sudo apachectl stop
ที่จะหยุด Apache และชุดที่จะDisabledtrue
-w sudo launchctl -w unload ...ถ้ามันไม่ช่วยคุณสามารถโพสต์เอาท์พุทของps -ef|grep httpd|grep -v grep?
-wมาก่อนผลลัพธ์เดียวกัน นี่คือผลลัพธ์: pastebin.com/h14t8fEv
sudo launchctl1 ...ส่งคืนข้อความแสดงข้อผิดพลาดหรือไม่ คุณสามารถโพสต์ผลลัพธ์ของgrep apache /var/log/com.apple.launchd/launchd-shutdown.system.logและได้sudo grep apache /var/log/system.logหรือไม่
sudo: launchctl1: command not foundและนี่คือผลลัพธ์: pastebin.com/raw.php?i=zxKvYV4i
sudo apachectl startdaemon การเปิดตัวดูเหมือนว่าจะเปิดใช้งานอีกครั้งหลังจากรีสตาร์ท