ปิดใช้งาน Apache autostart


17

ฉันกำลังติดตั้งใหม่ 10.9 และเซิร์ฟเวอร์ Apache เริ่มต้นคือorg.apache.httpd: Already loadedหลังจากการเริ่มต้นแต่ละครั้ง มีวิธีปิดใช้งานการเริ่มอัตโนมัติหรือไม่

คำตอบ:


27

OS X จัดให้มีlaunchctlการควบคุม daemons ที่จะเริ่มต้นในเวลาบูต

วิธีหยุดและปิดการใช้งาน Apache:

  1. เปิดTerminal
  2. พิมพ์คำสั่งต่อไปนี้ (พิมพ์รหัสผ่านเข้าสู่ระบบของคุณเมื่อ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


ฉันพยายามแล้ว แต่ทุกครั้งที่ฉันเรียกใช้sudo apachectl startdaemon การเปิดตัวดูเหมือนว่าจะเปิดใช้งานอีกครั้งหลังจากรีสตาร์ท
จนถึง

ลองกับ:-w sudo launchctl -w unload ...ถ้ามันไม่ช่วยคุณสามารถโพสต์เอาท์พุทของps -ef|grep httpd|grep -v grep?
jaume

ฉันลอง-wมาก่อนผลลัพธ์เดียวกัน นี่คือผลลัพธ์: pastebin.com/h14t8fEv
จนถึง

ขอขอบคุณsudo launchctl1 ...ส่งคืนข้อความแสดงข้อผิดพลาดหรือไม่ คุณสามารถโพสต์ผลลัพธ์ของgrep apache /var/log/com.apple.launchd/launchd-shutdown.system.logและได้sudo grep apache /var/log/system.logหรือไม่
jaume

ใช่: sudo: launchctl1: command not foundและนี่คือผลลัพธ์: pastebin.com/raw.php?i=zxKvYV4i
จนถึง
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.