问题标签 [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 投票
0 回答
30 浏览

macos - 当我添加 UserName 属性时,launchctl exit 78(如何以不同的用户身份运行守护进程?)

在我添加之前,launchctl load 工作正常

以 root 身份运行并在我的日志中返回此错误

错误

0 投票
1 回答
219 浏览

bash - 启动守护程序不会从 Bash 脚本加载,但会从终端加载

我在 PKG 安装程序中运行的安装后 Bash 脚本文件中有这一行:

PKG 正确安装了作业 plist 文件和作业调用的小程序。

但是当我检查作业是否加载到终端时,我没有得到任何返回:

如果我在终端中执行相同的加载命令,作业将按预期加载。

为什么脚本运行时作业没有加载?

0 投票
0 回答
102 浏览

python - Mac 在启动时使用 plist LaunchAgent 运行 python 脚本 – 如何禁用?

我正在尝试为我当前正在编写的程序(对于 Mac)实现“启动时运行”功能。

目前,该程序会为 LaunchAgents 创建一个 plist 文件,例如:

资源

现在,我正在尝试了解如何实现用户从程序的设置窗口启用/禁用此功能的可能性。

问题是:当用户禁用该功能(通过取消选中复选框完成)时,我是否需要让程序删除 plist 文件,然后如果再次启用该功能,则重新创建文件,或者有没有办法将文件留在那里,然后激活/停用文件?

我已经对 launchctl 加载/卸载进行了一些实验。但是现在,当我使用 launchctl unload 时,程序实际上退出了。

感谢帮助!

0 投票
1 回答
134 浏览

macos - Mac launchDaemon 服务重复启动我的 bash 脚本

我一直在设置一个启动守护进程,它可以按需启动一个 bash 脚本。但是,一旦我加载启动代理并通过套接字进行通信,它就会每 10 秒运行一次我的 bash 脚本。我什至在 plist 中将 KeepAlive 标志设置为 false 并在 bash 脚本中添加了延迟,但它仍然继续运行。

当我与套接字连接时,如何将其设置为仅运行一次。

列表文件:

bash 脚本文件:

0 投票
0 回答
67 浏览

python - Launchctl Python 进程导致“服务退出,代码异常:1”

我有一个启动程序,它每 10 秒使用 /usr/bin/python3 运行一个 python 文件。这是调用launchctl list我的 plist 的输出:

我的代码在手动执行时工作正常。

当我检查控制台时,它显示Service exited with abnormal code: 1. 它仅在我有requests进口商品时发生。其他模块——<code>json 和subprocess——可以很好地导入。我认为这是因为requests是用 pip 安装的。我应该怎么做才能requests被认可?

0 投票
0 回答
84 浏览

permissions - launchctl / launchd - 守护程序/代理 - 权限错误 - OSX 11.0.1

我试图为launchctl 做一个小守护进程/代理。

我试图让守护进程启动一个小 shell 脚本。但它不会运行。在守护进程的 Plist 中,我指定了一个 Standard-Err,它只是给了我

/bin/bash: /Users/ml/Desktop/Scripte/iMessage_Reminder/meta_Program.sh: Operation not permitted

如果我从终端启动脚本 meta_program.sh,它就可以正常工作。

我尝试过的事情:

  • 将守护进程移动到 /Library/Launchdaemons
  • .plist 的 sudo chown 和 root:wheel 的脚本
  • sudo chmod +x 到 .plist 和脚本
  • sudo launchctl load -w ...plist
  • sudo launchctl load ...plist
  • 卸载和加载 plist
  • 制作一个真正简单的脚本,其中没有任何内容,只是#!/bin/sh

所有的结果都是一样的,其他脚本似乎工作,只是不是这个

0 投票
0 回答
827 浏览

mongodb - 引导失败:5:在 macOS Big Sur 版本 11.5.2 上运行任何服务时出现输入/输出错误

我正在尝试使用运行 mongodb-community@4.2 服务 brew services start mongodb-community@4.2 (在运行 httpd 服务或任何其他服务时遇到类似错误)以下是错误:

错误:执行失败;/bin/launchctl bootstrap gui/502 /Users/chiragsingla/Library/LaunchAgents/homebrew.mxcl.mongodb-community@4.2.plist以 5 退出。

0 投票
8 回答
39132 浏览

mongodb - 酿造服务。无法启动服务。得到“引导失败:5:输入/输出错误”

运行brew services start mongodb-community产生:

当我跑步时launchctl load -w /Users/<myUserName>/Library/LaunchAgents/homebrew.mxcl.mongodb-community.plist

产量

Load failed: 5: Input/output error

我最近将 macOS 升级到 BigSur 11.5.2。

我已经卸载并重新安装了 homebrew 和 xcode。

0 投票
0 回答
62 浏览

macos - Launchctl 服务初始化失败

我写了以下plist:

为了执行这个脚本:

我用这个命令加载它:

我现在收到此错误:

我正在运行 macOS 11.5.2。我不知道 0x1 指的是什么错误,所以我不知道如何解决它。如果有人可以帮助我找出问题所在,我将不胜感激。

编辑:我已删除 StandardOutPath 和 Standard ErrorPath 并收到新错误

0 投票
0 回答
108 浏览

macos - 在 macOS 上以非 Root 用户运行已启动的服务

我正在构建一个可以运行 java 服务的 launchctl 服务。我能够使用 root 用户创建 launchctl 服务,并在重启用例时测试启动/停止/状态/自动启动。

我正在努力与非root用户运行相同的launchctl服务(ec2-user在我的情况下)

我的plist文件如下所示

我已经尝试了各种步骤来运行上述服务ec2-user。UID 为ec2-user501。

验证plist文件的内容

尝试使用引导服务user

以上所有错误都不是冗长的,似乎没有找到任何方法。

我的目标:我想用非 root 用户运行 launchctl 服务。

环境细节:

操作系统:AWS EC2 实例上的 macOS

macOS 版本:BigSur 和 Monterey

提前致谢。