mac os 禁止apache httpd自动启动(转)

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

 

相关文章
相关标签/搜索