2011-11-09 27 views

Trả lời

43

1) Các autostart thường không nằm trong User-Autostart-Items, nhưng bạn nên kiểm tra xem chúng anyway:

Mở System-Preferences>Người dùng>Chọn người dùng của bạn>Đối tượng bắt đầu

Kiểm tra xem có điều gì đó bắt đầu bạn muốn hủy kích hoạt và làm như vậy nếu.

2) Thông thường khởi động apache được xử lý bởi dịch vụ launchd: Bạn có thể thay đổi thủ công hoặc với sự trợ giúp của một công cụ nhỏ bé có tên "Lingon". Để thực hiện thủ công, bạn cần phải tìm thư mục launchd:

~/Library/LaunchAgents 
~/Library/LaunchDaemons 

/Library/LaunchAgents 
/Library/LaunchDaemons 

/System/Library/LaunchAgents 
/System/Library/LaunchDaemons 

Ở đó bạn sẽ tìm thấy tệp .plist, xác định thời điểm và khởi động. Để loại bỏ một đối tượng từ tự động bắt đầu sử dụng launchctl trên thiết bị đầu cuối để loại bỏ nó khỏi launchd thực tế và sau đó chỉ cần xóa tập tin.

user$ launchctl unload *filename.plist* 

Đảm bảo bạn không xóa các tệp sai! Điều này có thể dẫn đến tình trạng chết người trên máy của bạn. Btw: .plist-Files có thể được đọc với BBEdit, TextWrangler hoặc PropertyList Editor từ Apple Developer-Tools.

+1

Lệnh launchctl không hoạt động (ném lỗi Không thể blabla), nhưng tôi đã chỉnh sửa tệp plist tương ứng với apache và đánh dấu tùy chọn bị hủy kích hoạt thành true. Cảm ơn bạn + Erik – toutpt

+0

+1 và 'ps -el | grep -E "httpd | apache" 'là một cách để kiểm tra những gì có thể đang chạy. Điều đó cùng với '/ path/to/httpd -V' cho thấy tôi đã có một tiến trình đang chạy với tập tin cấu hình sai. – JCotton

+2

sử dụng lệnh 'launchctl list' để có danh sách tất cả các tệp plist launchd có sẵn. Sau đó, bạn có thể sử dụng 'launchctl unload name.of.the.plist' –

6

Câu trả lời của Erik gần như là danh sách đầy đủ các địa điểm bạn có thể tìm thấy các mục khởi động. Có hai nơi khác mà tôi đã tìm thấy một số ứng dụng khởi động ngay cả khi bạn nhấn SHIFT trong khi đăng nhập.

/private/var/db/launchd.db/com.apple.launchd.peruser.501/overrides.plist

/private/var/db/launchd.db/com.apple.launchd /overrides.plist

Bạn có thể đọc chúng bằng:

mặc định đọc /private/var/db/launchd.db/com.apple.launchd.peruser.501/overrides.plist

mặc định sudo đọc /private/var/db/launchd.db/com.apple.launchd/overrides.plist

+0

trên Lion, đó là cả hai overrides.plist nơi cuối cùng tôi đã tìm thấy nơi Sophos antivirus đã bị vô hiệu hóa. – rymo

23

On Mountain Lion (OSX 10.8.5) tôi đã có thể vô hiệu hóa các máy chủ Apache rằng tàu với OSX bằng cách sử dụng lệnh sau:

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

Lệnh cụ thể này có thể sẽ không hoạt động nếu phiên bản Apache khác được cài đặt qua MacPorts hoặc HomeBrew.

Việc sử dụng sudo là quan trọng vì Apache cần quyền root để chạy trên số cổng được bảo vệ bằng số thấp (cổng 80).

+2

Tôi thích nó! Tôi đã thử nó trên Mavericks - lệnh hoạt động tốt, nhưng Apache vẫn bắt đầu khi máy được khởi động lại. Chỉ nghĩ rằng tôi sẽ cho bạn biết. –

+5

Tôi nhận được thông báo "/System/Library/LaunchDaemons/org.apache.httpd.plist: Không thể tìm thấy dịch vụ được chỉ định" –

+0

Cũng hoạt động cho 10.9.4 –

0

Đủ để làm sudo apachectl stop.

Sau đó, để bắt đầu làm sudo apachectl start. Điều này cũng sẽ làm cho máy chủ web bắt đầu trên hệ thống bắt đầu quá.

Điều này hoạt động như tôi đang nói với bạn bởi vì các lệnh này gọi `launchctl`` bên dưới mui xe. Bạn có thể xác minh điều này bằng cách chạy

$ cat `which apachectl` 
Các vấn đề liên quan