Vô hiệu hóa tự động khởi động Apache


17

Tôi đang cài đặt 10.9 mới và máy chủ Apache mặc định là org.apache.httpd: Already loadedsau mỗi lần khởi động. Có cách nào để vô hiệu hóa autostart đó không?

Câu trả lời:


27

OS X cung cấp launchctlđể kiểm soát trình nền nào được khởi động khi khởi động.

Để dừng và vô hiệu hóa Apache:

  1. Thiết bị đầu cuối mở
  2. Nhập lệnh sau (nhập mật khẩu đăng nhập của bạn khi sudoyêu cầu):

    sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist
    

Một vài lời về launchctl's -wlựa chọn

Các -wtùy chọn là viên đạn bạc cho dừng / vô hiệu hóa Apache. Nó yêu launchctlcầu thực hiện công việc của mình bất kể mọi cài đặt cấu hình nào có thể ngăn không cho nó dỡ dịch vụ, như được giải thích trong 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.

(Hóa ra, trong OS X Mavericks (10.9), "nơi khác trên đĩa" là /private/var/db/launchd.db/com.apple.launchd/overrides.plist.)

Các -wtùy chọn là không thể thiếu nếu bạn bắt đầu Apache với apachectl start: như được giải thích trong câu trả lời Superuser này . apachectlkhông chỉ khởi động Apache mà còn sửa đổi /private/var/db/launchd.db/com.apple.launchd/overrides.plistnhư thế này:

<key>org.apache.httpd</key>
<dict>
        <key>Disabled</key>
        <false/>
</dict>

Trong trường hợp cụ thể này, bạn cũng có thể sử dụng apachectl:

sudo apachectl stop

để ngăn chặn Apache và thiết lập Disabledthành true.


Tôi đã thử điều đó, nhưng mỗi lần tôi chạy sudo apachectl starttrình khởi chạy dường như được kích hoạt lại sau khi khởi động lại.
Đến

Hãy thử với -w: sudo launchctl -w unload .... Nếu nó không giúp đỡ, bạn có thể gửi đầu ra của ps -ef|grep httpd|grep -v grep?
jaume

Tôi đã thử -wtrước đây, kết quả tương tự. Đây là đầu ra: pastebin.com/h14t8fEv
Đến

Cảm ơn, có sudo launchctl1 ...trả lại một thông báo lỗi? Bạn có thể gửi đầu ra của grep apache /var/log/com.apple.launchd/launchd-shutdown.system.logsudo grep apache /var/log/system.log?
jaume

Có: sudo: launchctl1: command not foundvà đây là đầu ra: pastebin.com/raw.php?i=zxKvYV4i
Đến
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.