mac os 禁止apache httpd自動啟動(轉)


mac os不像linux有/etc/init.d/rc.local以及service的方式可以設置程序隨機啟動,而是使用plist文件管理。

plist文件分布在:/System/Library/LaunchDaemons/中的最多,其中apache的httpd程序啟動配置文件org.apache.httpd.plist就在這里。

但這些配置文件可由程序launchctl設置是否加載。也就是說,在launchctl list命令結果中出現的plist文件才會有效。

launchctl需要root權限。

禁止其隨機啟動方法:

 

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

 

如果沒有任何輸出就是成功卸載了。如果要加載,把unload換成load即可。

第二次運行unload會發現錯誤:launchctl: Error unloading: org.apache.httpd,這表示已經成功卸載了。

 

如果要查看launchctl用法,可以在shell終端輸入launchctl,然后輸入help回車。quit退出。

 

我在我的mac上操作成功,重啟后httpd不會啟動了。但奇怪的是當我自己用apachectl啟動了httpd后,第二天開電腦發現httpd又自動啟動了。於是我懷疑是否apachectl腳本里將其load了,打開/usr/sbin/apachectl,發現啟動httpd竟然使用了launchctl的load方法。

 

為了讓啟動與否的主動權掌握在我自己手里,只好拋棄使用apachectl啟動,使用自己寫的httpd腳本啟動,其實就是里面實現一下start,stop,restart三個條件判斷即可,我使用時間長一些,所以稍復雜一些,見附件。

 

替換后,別忘記再運行一次:

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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM