问题标签 [launchctl]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
142 浏览

mysql - MySQL LaunchDaemon 未在 macOS El Capitan Server 上运行

我已经通过自制软件和这些说明安装了 MySQL 。homebrew 安装的服务是 LaunchAgent,它工作正常,但仅在我的用户登录时运行。我希望 MySQL 始终运行。

我尝试复制homebrew.mxcl.mysql.plist/Library/LaunchAgents,将权限设置为 644 root:wheel,并使用sudo launchctl -w /Library/LaunchAgents/homebrew.mxcl.mysql.plist. 虽然sudo launchctl list显示 plist 已加载且状态为 0,但没有 PID。当我运行时ps aux | grep mysql,我看不到任何相关进程。

手动运行命令有效:/usr/local/opt/mysql/bin/mysqld_safe --datadir=/usr/local/var/mysql --bind-address=0.0.0.0但如果用户注销,MySQL 将退出。

已经有一个关于 stackoverflow 的相关问题,但似乎每个人都在回答如何通过 LaunchAgent 添加服务,该服务在登录时而不是在启动时运行

/Library/LaunchDaemons/homebrew.mxcl.mysql.plist

ps辅助

启动ctl列表

0 投票
2 回答
2087 浏览

objective-c - 在 macOS 中以编程方式启用、禁用和启动服务

我正在编写一个附带服务的程序。到目前为止,我所做的是创建一个帮助工具,它可以为我的进程运行提升的任务,并可以通过 XPC 进行通信。

我的程序与服务捆绑在一起,我想使用帮助工具来安装和启动/停止此服务,以便我的程序可以在设置中有一个复选框“使用系统启动服务”。

我可以成功复制服务的 plist,但我找不到任何方法来以编程方式启用、禁用、启动或停止服务。我认为调用的解决方案system("launchctl load /path/to/service.plist");非常丑陋。目标 C 中是否有任何机制来完成此任务并获得成功或失败的结果?

0 投票
0 回答
92 浏览

macos - 在 osx 上删除应用程序包时删除 Launchd 服务

该应用程序需要运行具有 root 权限的二进制文件(服务),并避免在每次启动时询问权限,但仅在安装时询问权限。

为此,首先启动应用程序将在启动时设置服务。

问题是如何在删除应用程序包时删除该服务?

如果启动服务检测到应用程序被删除,它可以自行删除吗?


编辑:

即使服务正在运行并且它的二进制文件在包中,也可以删除应用包。到目前为止的实现是服务将定期检查它自己的路径是否存在,如果它不再有效,它会从launchctl中删除自己

0 投票
0 回答
231 浏览

bash - OSX - 通过 launchctl 为 Android Studio 设置环境变量 - 仅在第二次启动后有效

这是在我的 ~/.bash_profile 中,因为我需要 Android Studio / Gradle 才能访问这个变量。

有趣的是,我第一次启动 Android Studio 时没有设置该变量,但第二次总是设置。

我做错了什么,它不能一直工作/第一次?

0 投票
1 回答
5197 浏览

python - 如何检查`.plist`文件中的错误

我一直无法弄清楚为什么launchctl说这.plist是无效的。

我正在尝试每天早上 8 点运行一次 Python 脚本。第一个程序参数是 pyenv virtualenv 二进制文件的路径,第二个是我的 Python 脚本。

有没有一种方法可以验证我在这个.plist文件中的正确或错误?launchctl它返回的错误并不明显,它只是:

无效的属性列表。

我知道有一些工具可以创建和管理这些工作,但我想更好地了解幕后发生的事情。

这是我的.plist

0 投票
2 回答
843 浏览

python - 是否可以在启动时启动 Jupyter 笔记本?

我想在我的 Mac 启动时打开一个 Jupyter 笔记本页面。具体来说,我使用 launchctl 来启动 Jupyter notebook。

但是,重启后,网页显示密码或令牌进行验证:

在此处输入图像描述

这是我在 High Sierra 上使用的 launchctl 脚本。我发现输入令牌很费力。那么是否可以在重新启动时忽略令牌验证,就像您输入时一样jupyter notebook

0 投票
0 回答
55 浏览

bash - LaunchDemon 未从 shell 脚本加载

我有一个小的 shell 脚本,它加载了一个 launchctl com.skull.tst.plist。但是当我运行脚本时它没有加载launchctl。我正在使用 sudo 获得回声匹配和运行脚本。

当我在终端中复制 sudo /bin/launchctl load -wF /Library/LaunchDaemons/com.skull.tst.plist时,它可以正常工作并加载。

为什么它没有加载 shell 脚本?

0 投票
0 回答
183 浏览

macos - launchctl getenv 命令返回一个空的 PATH

当我跑

在终端中,我总是得到一个空字符串作为响应。我尝试使用

由于 with sudo,系统环境被查询,但我仍然得到一个空字符串。我错过了什么吗?那不应该返回我的 PATH 或至少返回系统 PATH 吗?就像是

我在这里查看了很多答案,它们似乎都暗示原始命令应该返回一个路径而不是什么。

0 投票
2 回答
8145 浏览

macos - 启动后如何重新启动docker-machine?

我正在使用不支持最新 Docker for Mac 的 MacBook Pro 2009。因此,我正在使用 Docker Machine 方法为我的机器启动并运行 Docker。

以下是我用来在我的机器上安装 Docker 的命令:

上面的命令没有错。每次我运行最后一个命令时,Docker 进程都会启动并完美运行。

但是,当我重新启动主机(MacBook)时,Docker 机器已经死了,我看到了Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?错误。

我尝试在下面放两行,.bash_profile但没有用(是的,我已经source这样做了):

我还尝试创建一个 LaunchDaemons .plist 文件以在启动时运行 bash 脚本,但它也不起作用:

bash 脚本:

命令是:

每次启动或重新启动 MacBook 时如何重新启动 Docker Machine?

0 投票
0 回答
785 浏览

macos - 如何使用launchtl启动守护进程?

我正在尝试使用以下启动守护程序并运行Path had bad ownership/permissions,如何解决此问题并启动并确保它正在运行?

以下是 plist 上的权限