mac os不像linux有/etc/init.d/rc.local以及service的方式能夠設置程序隨機啓動,而是使用plist文件管理。linux
plist文件分佈在:/System/Library/LaunchDaemons/中的最多,其中apache的httpd程序啓動配置文件org.apache.httpd.plist就在這裏。shell
但這些配置文件可由程序launchctl設置是否加載。也就是說,在launchctl list命令結果中出現的plist文件纔會有效。apache
launchctl須要root權限。ui
禁止其隨機啓動方法:rest
sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plistblog
若是沒有任何輸出就是成功卸載了。若是要加載,把unload換成load便可。get
第二次運行unload會發現錯誤:launchctl: Error unloading: org.apache.httpd,這表示已經成功卸載了。博客
若是要查看launchctl用法,能夠在shell終端輸入launchctl,而後輸入help回車。quit退出。it
我在個人mac上操做成功,重啓後httpd不會啓動了。但奇怪的是當我本身用apachectl啓動了httpd後,次日開電腦發現httpd又自動啓動了。因而我懷疑是否apachectl腳本里將其load了,打開/usr/sbin/apachectl,發現啓動httpd居然使用了launchctl的load方法。class
爲了讓啓動與否的主動權掌握在我本身手裏,只好拋棄使用apachectl啓動,使用本身寫的httpd腳本啓動,其實就是裏面實現一下start,stop,restart三個條件判斷便可,我使用時間長一些,因此稍複雜一些,見附件。
替換後,別忘記再運行一次:
sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist