问题标签 [launch-daemon]

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

macos - 用于启动另一个应用程序的应用程序的 OSX LaunchAgent

我正在尝试为 cassandra 设置本地 LaunchAgent,但遇到了一个问题,因为bin/cassandra它只是一个启动的 shell 脚本:

我的 LaunchAgent 启动脚本,但要么从不启动 cassandra,要么不允许它产生子进程,或者,我不完全确定发生了什么,但似乎我以前遇到过这个问题。我知道让它工作的唯一方法是将我的 LaunchAgent 从:

至...

我想知道是否有人知道我如何仅从 LaunchAgent 引用 shell 脚本,而不是从中提取所有参数ps aux

0 投票
2 回答
11014 浏览

iphone - 使用终端/bash 更改目录中多个文件的文件扩展名?

我正在开发一个简单的启动守护程序,它将文件从一个目录复制到另一个目录。我已经把文件传输过来了。

我只希望目录中的文件是 .mp3 而不是 .dat

一些文件如下所示:

6546785.8786.dat
3678685.9834.dat
4658679.4375.dat

我希望它们看起来像这样:

6546785.8786.mp3
3678685.9834.mp3
4658679.4375.mp3

这是我在 bash 脚本末尾重命名文件扩展名的内容。

问题是文件以 *.mp3 而不是 6546785.8786.mp3 的形式出现

当另一个 6546785.8786.dat 文件导入到 $mp3_dir 时,*.mp3 将被新的 .mp3 覆盖

我只需要将 .dat 文件扩展名重命名.mp3 并保留文件名。

想法?建议?

0 投票
1 回答
980 浏览

ios - iOS越狱 - 如何在后台获取位置

我写了一个作为守护进程启动的小应用程序。它基本上只会输出手机的 GPS 位置。

主要的.m:

LocationController.m

因此,如果我在跳板上手动运行应用程序,它可以正常工作并记录 GPS 位置……至少 15-20 秒……然后跳板会终止应用程序,因为它没有响应 - 这是预期的行为。

但是,如果我在启动时启动应用程序(launchDaemon),它也可以正常启动,但委托函数“didUpdateToLocation”永远不会被调用!

我在 iOS 5 上,所以不确定问题是什么。任何帮助都非常感谢。

谢谢 !!

0 投票
3 回答
3496 浏览

macos - 从 KEXT 与 Daemon 通信并阻塞直到从 Daemon 返回结果的最佳方式

在 KEXT 中,我正在通过 vnode 或文件范围侦听器侦听文件关闭。对于某些(非常少的)文件,我需要将文件路径发送到我的系统守护程序,它会进行一些处理(这必须在守护程序中发生)并将结果返回给 KEXT。在我得到守护进程的响应之前,需要阻止文件关闭调用。根据结果​​,我需要在近距离通话中进行一些操作并成功返回近距离通话。论坛上有很多关于KEXT通信相关话题的讨论。但它们不是决定性的,而且看起来很老(2002 年左右)。这个需求可以通过FtlSendMessage(...)Win32 API 来处理。我正在寻找 Mac 上的等价物

以下是我看过并想总结一下我的理解:

  1. Mach 消息:提供非常好的双向通信方式,使用发送者和回复端口以及队列机制。但是,mach 消息 API(例如mach_msgmach_port_allocatebootstrap_look_up)似乎不是 KPI。mach_msg_send_from_kernel可以使用mach API ,但仅此一项对双向通信没有帮助。我的理解对吗?
  2. IOUserClient:这似乎更多地与从用户空间到 KEXT 的通信有关,然后从 KEXT 进行一些回调。我没有找到一种方法来启动从 KEXT 到守护程序的通信,然后等待守护程序的结果。我错过了什么吗?
  3. 套接字:这可能是最后一个选项,因为我必须实现从 KEXT 到守护进程的整个双向通信通道。
  4. ioctl/ sysctl: 我对他们了解不多。根据我的阅读,它不推荐使用,特别是对于双向通信
  5. RPC-Mig:同样我对它们了解不多。从我所看到的看起来很复杂。不确定这是否是推荐的方式。
  6. KUNCUserNotification:这似乎只是从 KEXT 向用户提供通知。它不符合我的要求。

支持的平台是(10.5 起)。因此,查看要求,有人可以就该主题提出建议并提供一些指示吗?

提前致谢。

0 投票
2 回答
3592 浏览

objective-c - 使用 Objective-C 的 Mac OS X 守护进程 - launchd

我是 Mac OS X 世界的新手,但我有 Windows 开发技能。

我需要开发一个从 Web 服务上传/下载文件的守护程序(在 Windows 上将是 Windows 服务)。

我的问题是:是否可以创建一个用 Objective-C 编写的应用程序作为守护进程(上传/下载)并在操作系统开始使用 launchd 时启动它?或者还有另一种创建守护进程的方法?

谢谢

0 投票
1 回答
904 浏览

objective-c - SMJobBless 和朋友们

我制作了一个提交到 Mac AppStore 的应用程序。由于某些原因,他们拒绝了它,因为它正在使用 SMJobBless API 安装帮助工具。

由于该帮助工具对于大多数应用程序的功能来说不是必需的,因此我已将其删除,并且我的应用程序已被接受。

所以现在,我正在为可以在互联网上下载的帮助工具打包一个独立的安装程序。

但是,在我将文件安装到位后,帮助工具拒绝运行......帮助工具只有一个进入 /Library/LaunchDaemons 的 plist 和一个进入 /Library/PrivilegedHelperTools 的二进制文件。

现在我想知道,除了将文件移动到位之外,SMJobBless 究竟做了什么?它是在用 launchctl 注册我的工具吗?我尝试了各种方法,手动将其添加到launchctl,但没有成功:帮助工具在请求它的签入请求后才退出。

辅助工具只包含:

通过 SMJobBless API 安装时,该服务运行完美,并且可以从我的 APP 中访问根代理...

那么我的安装程序需要哪些步骤才能让这个帮助工具正常工作,就像调用 SMJobBless API 一样?

谢谢,皮埃尔。

0 投票
1 回答
1030 浏览

macos - OS X - 启动守护进程和启动代理之间的通信

我是 OS X 新手,必须创建一个包含 2 个部分的应用程序 - 启动守护进程和启动代理。守护进程将执行命令执行、日志记录等工作,并且必须以某种方式将这些结果传达给启动代理(这会将它们传输到显示 GUI 的登录项,尽管这是未来的步骤)。

我的问题:我如何实现这种沟通?在阅读 Apple 文档后,到目前为止我所能收集到的信息是,我最好的选择是使用 CFSockets。有没有替代(更简单)的方式?有没有人有任何示例教程/示例/代码来展示如何使用 CFSockets(我找不到任何)?

PS:我的问题可能与问题重复,但该问题尚未得到解答,因此我想发布此问题。

0 投票
1 回答
4583 浏览

macos - 启动脚本 osx 启动守护进程

我正在尝试在启动时在我的机器(mbp 视网膜 osx 山狮)上运行可执行文件。

这是脚本的样子:

我把它放在/System/Library/LaunchDaemons/目录下。它被命名com.netresponsibility.daemon.plist并具有与所有其他人相同的权限。

当我重新启动可执行文件时不会调用。关于我缺少什么的任何想法?

0 投票
2 回答
3269 浏览

python - 带有 python 3 的守护进程

我正在为 Ubuntu 在 python3 中编写一个脚本,该脚本应该在所有 X 分钟内执行,并且应该在登录后自动启动。因此我想创建一个守护进程(这是正确的解决方案吗?)但我还没有找到任何模块 / python3 的示例,仅适用于 python 2.X。你知道我可以做什么吗?

谢谢,

0 投票
1 回答
337 浏览

macos - 配置 mongod 服务:启动守护进程还是启动代理?

我正在使用 10gen 构建在 OS X 上安装 MongoDB。
但是他们的安装教程对我来说有点稀缺。

到目前为止,我已经找到了mongod作为启动代理启动守护程序安装的示例。根据我对启动守护进程与启动代理的理解,什么方法是最好的/足够的最小值?

是否mongod需要通过窗口服务器显示信息,所以最好将服务配置为启动代理还是使其成为启动守护程序就足够了?