问题标签 [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.
mysql - 启动和用户映射
我试图让 MySQL 在launchd 下运行,所以我设置了一个launchd 项目,其中包括一个以“mysql”为值的“UserName”键。我这样做是因为当我启动 mysql 时,我通常会选择:mysqld_safe --user=mysql。
当我加载它时,我得到:
MySQL 永远无法运行。我应该使用“_mysql”作为用户吗?我想知道用户映射,因为我按照 MySQL 发行版中包含的说明安装了我的数据库:使用 mysql 用户安装数据库并运行守护程序。
先感谢您。
macos - OSX:如何检查launchctl命令的返回值
在 OSX 上使用 launchctl 启动和停止服务似乎很棒,但是我无论如何都看不到检查返回值以确保它确实启动了。即使服务无法启动,返回值似乎总是归零
此 plist 文件包含错误,因此不会按预期启动 Drizzle
除了检查此服务的 pid 文件是否存在之外,还有什么建议吗?
cocoa - 自动更新后重新启动我的应用程序?
在 OS X 中,我如何在下载更新版本后自动重新启动我的应用程序?
我环顾四周,launchd 似乎是这样做的可能方法,但我似乎无法理解它。我似乎也找不到任何专门谈论这个的好资源。
我也可以创建一个脚本或单独的进程来执行此操作,但这似乎很笨拙,我期待那里有更好的解决方案。
cocoa - 可可的计划任务?
在 Cocoa(和 Mac OS X)中安排程序运行的最佳方式是什么:
- 当用户登录时。
- 在一天中的某些时间(例如:中午 12:00)。
- 在特定的时间间隔(例如:每两个小时)。
除了安排之外,取消安排程序也应该很容易,并且在用户删除应用程序时不会导致错误。
本质上,该程序是一个附属命令行可执行文件,位于同一个.app
包中的主应用程序文件旁边。该程序的目的是在用户的主目录(在~/Library/Application Support/MyApp
.)中进行一些后台数据更新
这是crontab
一个很好的候选人吗?该man
页面crontab
说该功能已被吸收launchctl
,但我似乎无法找到如何安排特定时间来运行该实用程序。
谢谢。
objective-c - 从 root 帐户启动应用程序
我正在开发一个具有 Objective-C 守护进程的 Cocoa GUI 应用程序。守护进程由 LaunchDaemon 启动,GUI 使用 loginItems 为每个用户启动。
部署更新时,我需要更新守护进程,这很简单,并更新 GUI。我希望能够退出 GUI,替换应用程序,然后在当前运行的每个用户帐户上重新启动它。我想从当然以 root 身份运行的守护进程完成所有这些工作。
我怎么能:1)作为root,退出然后在另一个用户界面中重新启动应用程序?2) 作为root,退出然后为每个当前登录的用户重新启动一个特定的loginItem 吗?
我试过搜索,有很多讨论,包括这个类似的问题,但似乎没有可用的工作解决方案。
任何帮助是极大的赞赏。
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 中报告的同样奇怪的行为。
macos - launchd 文件手动运行但不会自动运行
我已经编写了一个 plist 文件并将其放入 /Library/LaunchDaemons
我现在已经手动将脚本从终端归档,但我似乎无法按照我的要求让它每 15 分钟运行一次,它调用的脚本将日志记录到 ftp 服务器并拉下 mysql 数据库的备份。
提前喝彩。
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
macos - pdflatex 和 shell 脚本
我需要观察 osx 中的特定目录更改,以查看文件是否已上传,当文件在目录中时,我想运行一个非常基本的脚本(使用 pdflatex 简单地“编译”.tex 文件),什么到目前为止我已经完成了:
1)launchd 监控我的目录,这是我的 test.plist 文件
2)测试.sh:
3)启动监视器:
4)为了测试一切是否正常,我在受监控的目录中移动了一个文件....但没有任何反应。查看控制台输出我可以红色这个错误:
我不明白为什么会出现这个错误,知道吗?
iphone - 为 iPhone 编写 LaunchDaemon
[JAILBROKE] 我用谷歌搜索过,但我找不到任何关于如何编写 LaunchDaemon 的指南。这是针对 iPhone 的,所以它会在 Objective-C 中。我很了解 Objective-C,我只需要一些指南来帮助我入门。
我知道如何编写守护进程 .plist,我的意思是 - 如何编写 .plist 运行的二进制文件,例如:usr/bin/myBinary
会和平时一样吗?int main (int argc, const char* argv[]) 之类的东西?