问题标签 [launchd]

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 回答
780 浏览

mysql - 启动和用户映射

我试图让 MySQL 在launchd 下运行,所以我设置了一个launchd 项目,其中包括一个以“mysql”为值的“UserName”键。我这样做是因为当我启动 mysql 时,我通常会选择:mysqld_safe --user=mysql。

当我加载它时,我得到:

MySQL 永远无法运行。我应该使用“_mysql”作为用户吗?我想知道用户映射,因为我按照 MySQL 发行版中包含的说明安装了我的数据库:使用 mysql 用户安装数据库并运行守护程序。

先感谢您。

0 投票
2 回答
7775 浏览

macos - OSX:如何检查launchctl命令的返回值

在 OSX 上使用 launchctl 启动和停止服务似乎很棒,但是我无论如何都看不到检查返回值以确保它确实启动了。即使服务无法启动,返回值似乎总是归零

此 plist 文件包含错误,因此不会按预期启动 Drizzle

除了检查此服务的 pid 文件是否存在之外,还有什么建议吗?

0 投票
3 回答
2336 浏览

cocoa - 自动更新后重新启动我的应用程序?

在 OS X 中,我如何在下载更新版本后自动重新启动我的应用程序?

我环顾四周,launchd 似乎是这样做的可能方法,但我似乎无法理解它。我似乎也找不到任何专门谈论这个的好资源。

我也可以创建一个脚本或单独的进程来执行此操作,但这似乎很笨拙,我期待那里有更好的解决方案。

0 投票
3 回答
1661 浏览

cocoa - 可可的计划任务?

在 Cocoa(和 Mac OS X)中安排程序运行的最佳方式是什么:

  • 当用户登录时。
  • 在一天中的某些时间(例如:中午 12:00)。
  • 在特定的时间间隔(例如:每两个小时)。

除了安排之外,取消安排程序也应该很容易,并且在用户删除应用程序时不会导致错误。

本质上,该程序是一个附属命令行可执行文件,位于同一个.app包中的主应用程序文件旁边。该程序的目的是在用户的主目录(在~/Library/Application Support/MyApp.)中进行一些后台数据更新

这是crontab一个很好的候选人吗?该man页面crontab说该功能已被吸收launchctl,但我似乎无法找到如何安排特定时间来运行该实用程序。

谢谢。

0 投票
3 回答
1270 浏览

objective-c - 从 root 帐户启动应用程序

我正在开发一个具有 Objective-C 守护进程的 Cocoa GUI 应用程序。守护进程由 LaunchDaemon 启动,GUI 使用 loginItems 为每个用户启动。

部署更新时,我需要更新守护进程,这很简单,并更新 GUI。我希望能够退出 GUI,替换应用程序,然后在当前运行的每个用户帐户上重新启动它。我想从当然以 root 身份运行的守护进程完成所有这些工作。

我怎么能:1)作为root,退出然后在另一个用户界面中重新启动应用程序?2) 作为root,退出然后为每个当前登录的用户重新启动一个特定的loginItem 吗?

我试过搜索,有很多讨论,包括这个类似的问题,但似乎没有可用的工作解决方案。

任何帮助是极大的赞赏。

0 投票
1 回答
163 浏览

mysql - 为什么 launchd(8) 写入 MySQL 数据文件?

我正在 MySQL 中运行一个查询,该查询正在更新一个包含大约 20 M 行的表。当我使用 iosnoop、fs_usage、top 观察系统时,我看到 launchd 正在写入表的 MyISAM 数据文件以及 mysqld。

根据 top,CPU 活动在 launchd 和 mysqld 之间交替。当 launchd 处于活动状态时,mysqld 相对不活动,反之亦然。并且这些活动周期对应于 iosnoop 和 top 报告的对 MyISAM 数据文件的 launchd 和 mysqld 写访问。

这让我觉得很奇怪。知道为什么 launchd 会参与编写 MySQL 数据文件吗?


附加信息

如果我用launchctl unload 停止mysqld 并在不使用launchd 的情况下重新启动它,即mysqld_safe &我看到在iosnoop、fs_usage 和top 中报告的同样奇怪的行为。

0 投票
2 回答
3396 浏览

macos - launchd 文件手动运行但不会自动运行

我已经编写了一个 plist 文件并将其放入 /Library/LaunchDaemons

我现在已经手动将脚本从终端归档,但我似乎无法按照我的要求让它每 15 分钟运行一次,它调用的脚本将日志记录到 ftp 服务器并拉下 mysql 数据库的备份。

提前喝彩。

0 投票
3 回答
21438 浏览

launchd - ~/Library/LaunchAgents plist 手动运行但不会自动运行

我开始使用 launchd 并希望设置一个 plist 文件,这样每当我将 SD 卡插入我的 Mac mini 服务器(使用 Snow Leopard 服务器)时,我希望运行一个 shell 脚本(它应该复制所有 jpg 文件,重命名它们等)。

因此,我在 ~/Library/LaunchAgents 中创建了一个 plist 文件(其内容见下文 - 它应该寻找对 /Volumes 的更改),我创建了一个 shell 脚本,上面写着“哔” - 稍后它会做一些更有用的事情.

plist文件是用launchctl注册的,当我运行它时(launchctl start com.peters.runwhenSDmount),只要插入存储卡,计算机就会发出哔哔声,没有存储卡时会保持静音。因此,显然 plist 确实调用了 shell 脚本,该脚本随后检查特定的 SD 卡是否存在。我假设这也证明了 SD 卡的权限没有问题。

但是,它似乎并没有自己运行???知道为什么吗?


plist 文件:~/Library/LaunchAgents/com.peters.runwhenSDmount.plist


外壳脚本:~/Library/Scripts/runwhenSDmount

0 投票
2 回答
2451 浏览

macos - pdflatex 和 shell 脚本

我需要观察 osx 中的特定目录更改,以查看文件是否已上传,当文件在目录中时,我想运行一个非常基本的脚本(使用 pdflatex 简单地“编译”.tex 文件),什么到目前为止我已经完成了:

1)launchd 监控我的目录,这是我的 test.plist 文件

2)测试.sh:

3)启动监视器:

4)为了测试一切是否正常,我在受监控的目录中移动了一个文件....但没有任何反应。查看控制台输出我可以红色这个错误:

我不明白为什么会出现这个错误,知道吗?

0 投票
1 回答
771 浏览

iphone - 为 iPhone 编写 LaunchDaemon

[JAILBROKE] 我用谷歌搜索过,但我找不到任何关于如何编写 LaunchDaemon 的指南。这是针对 iPhone 的,所以它会在 Objective-C 中。我很了解 Objective-C,我只需要一些指南来帮助我入门。

我知道如何编写守护进程 .plist,我的意思是 - 如何编写 .plist 运行的二进制文件,例如:usr/bin/myBinary

会和平时一样吗?int main (int argc, const char* argv[]) 之类的东西?