ฉันกำลังติดตั้งใหม่ 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 และชุดที่จะDisabled
true
-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 start
daemon การเปิดตัวดูเหมือนว่าจะเปิดใช้งานอีกครั้งหลังจากรีสตาร์ท