问题标签 [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 回答
3294 浏览

macos - 无网络连接时启动 NetworkState

任何熟悉launchdMac OS X 的人,特别是文件部分的NetworkState( bool) 键?KeepAlive.plist

man页面中,launchd当 Mac 上没有网络连接时,当 plist 配置如下时,应该调用可执行文件:

这似乎可以正常工作,但是,一旦建立了有效的网络连接(定义为 Mac 具有至少一个非环回 IPv4/6 地址),launchd 应该停止调用可执行文件(因为NetworkState标志应该阻止它)。

但是,我看到的行为是,无论Mac 的网络连接如何,都会launchd继续调用我的程序!就好像完全无视国旗一样。launchdNetworkState

有谁知道如何进行这项工作,以便launchd仅在没有网络连接时调用程序,并在建立网络连接后停止调用它?

0 投票
1 回答
2658 浏览

macos - 在 Mac OS X 10.6 上通过 /etc/launchd.conf 设置全局环境变量不起作用

我正在尝试在 Mac OS X 10.6 上设置一些全局环境变量,以便为应用程序和 shell 会话设置它们。

到目前为止,我已经尝试了以下方法:

这些都不起作用!我发现最令人惊讶的是 /etc/launchd.conf 因为它似乎对所有尝试过它的人都有效。有什么合乎逻辑的理由为什么它不适合我吗?

0 投票
1 回答
1487 浏览

process - 什么是“jetsam 优先事项”?

有人可以解释什么是“jetsam 优先事项”吗?

它们是由launchd强制执行的。我怀疑它们是为特定进程限制 CPU 的一种方式,但我不确定。

0 投票
2 回答
3733 浏览

ios - 在IOS上使用launchd重启应用

我在博物馆展览中使用一些 iPad,运行其他人开发的应用程序。尽管我们已经介绍了 Home 按钮,但我发现应用程序偶尔会崩溃,将用户留在主屏幕上。从这里他们可以访问其他未经授权的应用程序。

如果 iPad 越狱能给我们提供我们需要的解决方案,博物馆并不反对越狱,所以我一直在研究使用带有 KeepAlive 标签的 launchd 并将 .plist 文件放入 /Library/LaunchAgents 目录的想法阻止应用程序在崩溃时关闭或重新生成它

到目前为止,我已经成功地使它与 iPad 附带的默认应用程序以及 Cydia 安装的应用程序一起工作,但我无法让它重新启动我们想要的应用程序。我已经从 /User/Applications 目录和 /Applications 尝试过,有人建议这可能会有所作为,但没有乐趣。有人可以提出一个可能的解决方案还是我在浪费时间?我从下面的 plist 文件中插入了 XML。

0 投票
1 回答
678 浏览

macos - 在 OS X 中使用 launchd 加载和配置内核扩展

我正在为套接字过滤编写网络内核扩展。为了使其可配置,用户态程序读取配置文件并通过PF_SYSTEM套接字将信息传递给 kext。

如果我想在系统启动时尽快启动并运行套接字过滤器,我将如何设计启动?

我目前的想法是使用 launchd 来启动一个小的用户空间初始化程序。该程序将用于kextload启动 kext。之后,它将读取配置文件并通过PF_SYSTEM套接字与 kext 对话。完成工作后,它会迅速退出。

另一种选择是有两个launchd项目,一个用于 kext(使用kextload),另一个用于用户区配置文件阅读器。这将避免分叉,但否则将是相同的。无论哪种方式,launchd都必须运行一个快速的非守护程序用户空间程序。

然而,launchd似乎是为了启动实际的守护进程,而不是为了完成工作和退出的快速任务。开发人员库文档说:

重要提示:如果您的守护程序在启动后关闭得太快,launchd 可能会认为它已经崩溃。继续这种行为的守护进程可能会被挂起,并且在未来的请求到达时不会再次启动。为避免此行为,请在启动后至少 10 秒内不要关闭。

这给我的印象launchd是这样做不是正确的方法。我应该如何组织发布?我的整个想法是否朝着错误的方向发展?

(作为旁注,我想让用户也可以在运行时更改过滤选项。我想这可以通过在需要更改时打开到 kext 的新 PF_SYSTEM 套接字连接来完成。)

0 投票
1 回答
706 浏览

iphone - 自动备份 JailBreak iPhone DCIM 照片目录

嗨听说你可以将 cron 作业写入 plist 并以 plist 格式将其放入 JB iPhone /Library/LaunchDaemons 文件夹

我想每 300 秒备份一次照片文件夹,所以我将这样的 com.backup.plist 放入 /Library/LaunchDaemons 文件夹

我创建了一个 /private/var/backup 文件夹,访问权限为 777 mobile:mobile

我重新启动了 iPhone,但是脚本不起作用

失败是指“cp”命令访问权限吗?还是应该将 /private/var/backup 文件夹访问权限更改为其他内容?

顺便说一句,我正在运行 iOS 4.3.3 越狱 iPhone 4

非常感谢阅读

0 投票
6 回答
36354 浏览

macos - 如何调试启动时不运行的 Launchd 脚本?

我有一些来自自制软件的 Launchd 脚本。但是,当我重新启动计算机时,我必须手动运行它们:

我认为这应该在启动时发生。我错过了什么?

0 投票
1 回答
5764 浏览

macos - PATH 设置在 launchd.conf 以外的某个地方,我不知道在哪里

如何为用户会话(不仅仅是终端)中的所有程序设置 PATH 的问题已经出现并得到解决。所以我更改了 /etc/launchd.conf 和 /etc/paths,只是为了确保一切正常。但是,当我启动终端时,我仍然得到一个不同的 PATH 环境变量(我完全不确定如何从另一个应用程序测试 PATH。)

这是 /etc/launchd.conf 中的内容:

这是 /etc/paths 中的内容:

加上 /etc/paths.d/ 中的几个文件:

X11:

选择:

现在,当我启动一个新的终端时,我得到的是:

我检查了我的 .bashrc 和 .bash_profile,我没有 .profile,并且我检查了 /etc/profile 和 /etc/bashrc 并且它们都没有触及 PATH 环境变量。

我好难过。

0 投票
2 回答
6295 浏览

macos - plist 用于在启动时在 Mac 上自动启动 tomcat

我想使用 Mac mini 作为服务器。所以我已经安装了tomcat,我希望它在启动时自动启动。在 Windows 上,这称为“服务”。我是 Mac OS 的新手,但我读到这是 /Library/LaunchDaemon 文件夹中的 plist 文件。

所以我找到了以下链接:https ://gist.github.com/661713 我复制了文件并插入了正确的路径。

但是当我尝试启动时 launchctl load /Library/LaunchDaemons/org.apache.tomcat.plist

我收到以下错误:
launchctl: no plist was returned for: /Library/LaunchDaemons/org.apache.tomcat.plist launchctl: no plist was returned for: /Library/LaunchDaemons/org.apache.tomcat.plist nothing found to load

0 投票
10 回答
27902 浏览

ios - 使用 Jenkins/Hudson 作为 iOS 和 Mac 开发的持续集成时,钥匙串中缺少证书和密钥

我正在尝试改进适用于 iOS 的 Hudson CI,并在系统启动后立即启动 Hudson。为此,我使用以下启动脚本:

这可以正常工作,但是当由 Hudson 启动的 xcodebuild 尝试签署应用程序时,它会失败,因为它无法在钥匙串中找到正确的密钥/证书。但是,如果我从命令行启动 Hudson,密钥/证书对就在那里,因为它工作正常。

你有什么想法为什么会发生?