如何在 macOS 上删除 apache 的自动启动

问题描述 投票:0回答:5

我在 Macosx lion 上。服务已在 localhost:8080 上启动并运行。

这个服务是entreprisedb封装的apache + php。

如何删除自动启动?

macos apache
5个回答
46
投票

1) 自动启动通常不在用户自动启动项中,但无论如何你应该检查它们:

打开 系统首选项 > 用户 > 选择您的用户 > 启动对象

检查是否已启动您想要停用的某些内容,如果有则执行此操作。

2) 通常 apache 的启动是由 launchd-service 处理的:您可以手动更改它,也可以借助名为“Lingon”的旧小工具的帮助。要手动执行此操作,您需要找到启动文件夹:

~/Library/LaunchAgents
~/Library/LaunchDaemons

/Library/LaunchAgents
/Library/LaunchDaemons

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

在那里你会找到 .plist 文件,它定义了开始的时间和内容。要从自动启动中删除对象,请在终端上使用 launchctl 将其从实际的 launchd 中删除,然后只需删除该文件即可。

user$ launchctl unload *filename.plist*

确保您没有删除错误的文件!这可能会导致您的计算机出现致命情况。顺便说一句:.plist 文件可以使用 BBEditTextWranglerApple Developer-Tools 中的 PropertyList Editor 读取。


27
投票

在 Mountain Lion (OSX 10.8.5) 上,我可以使用以下命令禁用 OSX 附带的 Apache 服务器:

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

如果通过 MacPorts 或 HomeBrew 安装了不同版本的 Apache,则此特定命令可能不起作用。

使用

sudo
很重要,因为 Apache 需要 root 权限才能在低编号的受保护端口号(端口 80)上运行。


7
投票

Erik 的回答几乎是可以找到启动项的位置的完整列表。 在另外两个地方,我发现即使您在登录过程中按 SHIFT 键也会启动多个应用程序。

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

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

您可以使用以下方式阅读它们:

默认读取 /private/var/db/launchd.db/com.apple.launchd.peruser.501/overrides.plist

sudo 默认读取 /private/var/db/launchd.db/com.apple.launchd/overrides.plist


3
投票

sudo apachectl stop
就够了。

然后开始执行

sudo apachectl start
。这也将使 Web 服务器在系统启动时启动。

正如我告诉你的那样,这是有效的,因为这些命令在幕后调用“launchctl”。您可以通过运行来验证这一点

$ cat `which apachectl`

0
投票

这些步骤对我有用:

launchctl list | grep httpd

返回:

1054  0   homebrew.mxcl.httpd

bootout
卸载指定的服务。

launchctl bootout gui/501/homebrew.mxcl.httpd
© www.soinside.com 2019 - 2024. All rights reserved.