launchd相关内容

用于bash脚本执行的OSX创建启动服务

我已经编写了一个bash脚本来持续检查服务。该脚本有一些函数,还调用其他源bash文件,在手动执行时运行良好。该脚本有一个连续循环语句,类似于 while true; do { $path/is_it_running if [ "$?" == "0" ]; then { echo "yes, it is running" $path/test if [ "$?" != "0" ]; the ..
发布时间:2022-06-17 12:07:54 其他开发

将终端命令或脚本文件安排为每天在特定时间运行Mac OS X

我想让我的计算机在每晚11:45将其音量设置为特定级别我正在运行OSX 10.11.4。我可以通过 终端手动设置音量 osascript -e "set Volume 1.7" 或作为 的脚本 set volume 1.7 不过,我希望它被安排在晚上。在网上很难找到任何不是超级过时的东西。我真的不想用iCal。从我在网上发现的情况来看,launchd是可行的,但作为一个新手,我不知 ..
发布时间:2022-05-06 13:10:42 其他开发

如何限制 OS X 程序的内存?ulimit -v 都没有 -m 工作

我的程序有一半的时间会耗尽内存.在 Linux 下,我可以使用 ulimit -v mem-in-kbytes 对可用内存设置硬限制.实际上,我使用了 ulimit -S -v mem-in-kbytes,所以我在程序中遇到了正确的内存分配问题,我可以中止. 但是... ulimit 在 OSX 10.6 中不起作用.我试过 -s 和 -m 选项,但它们不起作用. 2008 年,在 M ..
发布时间:2021-12-21 10:10:32 其他开发

Mac 上的 jenkins,路径设置不正确,没有/usr/local/bin

我最近使用 Homebrew 安装了 Jenkins.我还使用 Homebrew 安装了 Mercurial. 我可以从终端成功克隆一个 hg 存储库.但是,如果我尝试在 Jenkins 的工作中做同样的事情,它就会失败. 所以,在工作中,我告诉 Jenkins 运行一个 shell 脚本 echo $PATH.果然,路径 /usr/local/bin 不存在.如果我从终端执行相同的命 ..
发布时间:2021-12-14 21:54:46 其他开发

Python argparse:如何处理 MacOSX `-psn` 参数

MacOSX launchd 将 -psn... 参数传递给应用程序.如何告诉 argparse 如何解析参数?它基本上是 -psn_([0-9]+)_([0-9]+) 但我很好,如果它只是解析 -psn(\S*)>.这可能吗? (参见 此处 有关进程序列号 (PSN) 的一些文档.还有 这里 是我关于如何处理参数的问题.) 解决方案 查看 psn 参数的结构,使用 argparse ..
发布时间:2021-11-17 04:48:26 Python

MacPorts Apache2 在启动时停止启动

我最近在两台不同的机器上注意到的一点是,当我启动时,通过 MacPorts 安装的 Apache2 似乎停止了启动.诚实的事实是,我以前不能发誓它这样做了,但我想我会注意到这一点,因为安装 LaunchDaemon 是我安装过程的一部分.事实上,如果我尝试重新加载 LaunchDaemon,它会失败: $ sudo launchctl load -w/Library/LaunchDaemons/ ..
发布时间:2021-11-11 22:10:27 服务器开发

使用 Launchd 运行 Python 脚本:未找到导入

我一直在尝试设置一个脚本,以使用 launchd 定期运行 Python 程序.python 程序失败是因为它找不到我的导入——我知道这是因为我在日志文件中发现了错误.为了解决这个问题,我创建了 ~\.MacOSX\environment.plist,并在那里复制了我的 PYTHONPATH,注销并再次登录.这似乎不足以解决问题,我不知道还能尝试什么. 我运行的是 OSX 10.8.3. ..
发布时间:2021-06-13 19:11:44 Python

删除驱动程序启动的plist文件后,使kextcache无效

我已经为我的驱动程序创建了卸载程序,该卸载程序从/Library/LaunchDaemons 中删除了与其匹配的plist文件,因此在下一个引导周期中不会再次加载该文件.但是,它似乎对引导计算机后仍在正常加载的驱动程序没有任何影响. 在对此事进行了一些研究之后,我发现 kextcache 是此行为的原因,为了清除/使之失效,我需要 touch 安装目标卷所在的文件夹.但是,它没有任何作用. ..
发布时间:2021-05-31 19:25:16 其他开发

每分钟运行一次的已启动作业

我正在尝试编写一个仅在工作日每天运行一次的启动脚本.但是,一旦我加载了脚本,它就会每分钟运行一次,而不只是按计划运行.无论我是以我自己还是以超级用户身份加载脚本,都会发生这种情况: launchctl load〜/Library/LaunchAgents/org.myname.foojob 或 sudo launchctl load/Library/LaunchDaemons/o ..
发布时间:2021-05-31 19:04:50 其他开发

如何在启动的plist中访问环境变量

我有一个按用户启动的代理.在它的.plist中,我想使用 $ HOME 环境变量. 有可能吗? (这是“程序"键,我想将其定义为"$ HOME/bin/myscript") 解决方案 launchd不会对其.plists中的值执行任何替换,因此无法以您尝试执行的形式进行.您可以做的是将要运行的命令交给shell,然后让它 it 执行变量替换并运行该命令.例如,您可以将 Prog ..
发布时间:2021-05-31 18:59:19 其他开发

launchd.plist每10秒运行一次,而不是一次

我一直在设置 launchd.plist XML,该XML在每次安装特定的USB设备时都会运行.我按照 xpc_events(3)手册页,无论何时安装设备,它都在运行应用程序. 我遇到的问题是,只要仍然安装设备,该应用程序就会每10秒钟运行一次.如何设置它,使其仅在将设备插入USB端口时才运行一次? ..
发布时间:2021-05-31 18:57:05 其他开发

网络连接或重新连接时启动运行任务

我运行一个自定义python脚本,以通过launchctl更新各种动态DNS服务器,它每15分钟运行一次.这既是滥杀滥伤,又是倒杀. 如果脚本仅在可访问性发生变化时才执行,然后每30分钟作为一次备用,则会很好.我可以很容易地更新Python脚本,以在调用更新之前检查外部地址是否已更改,但是如果我的连接断开并返回了另一个IP地址,我就不必等待15-30分钟 请注意,这与keep aliv ..
发布时间:2021-05-31 18:52:06 其他开发

LaunchAgent脚本无法写入外部驱动器

macOS Catalina 我有一个python脚本,应该将文件写入外部驱动器.如果我手动运行脚本,则此方法有效.但是,如果该脚本是从LaunchAgent bash脚本开始的,则没有这样做的权限. 例如,简化的python脚本: ,其中open('/Volumes/nas_1/test/somefile.txt','a')作为the_file:the_file.write('He ..
发布时间:2021-04-14 20:05:38 Python

将Stderr发送给dev/null,但是如果没有错误发生,请继续

我有一个在启动时运行的shell脚本,用于备份MAMP MySQL安装.不幸的是,如果MAMP没有运行,它将抛出一个错误并将其发送到内部邮件.我希望忽略任何错误(发送到/dev/null),但是如果没有错误,请继续. 我尝试了以下操作,该操作可以在MAMP运行时正确创建备份,但是如果未运行则发送邮件(stderr): #!/bin/bash /Applications/MAMP/Lib ..
发布时间:2020-11-30 20:11:25 其他开发

MAC OSX代理-如何启动多个实例

我正在尝试创建助手对象(它可以是守护程序或代理).如您所见,Chrome和Safari帮助程序应该按需启动它,并且它应该有多个实例. 我尝试了什么? 我已经引用了这些 Apple Docs ,发布教程& 在Mac OS X中创建启动项 这里提到,对于许多进程,我们应该使用NumberOfProcesses键,但我在活动监视器中只看到一个实例. 我的plist看起来像这样 ..
发布时间:2020-11-22 22:13:48 其他开发