launchd

“允许在后台”登录项 OS X Ventura 问题(与通知无关)
launchd

“允许在后台”登录项 OS X Ventura 问题(与通知无关)

Mac OS 13.3.1 我在我创建的 LauchAgent plist 中有一个相对简单的 shell 脚本作为程序参数;它可以解析、加载并正常工作。 问题是,在“允许在后台运行”对话框中切换相应的程序实际上有什么作用?我发现关闭脚本实际上并没有卸载或停止服务,并且当满足 plist 中的条件(WatchPaths)时脚本仍会运行。 保持该项目处于关闭状态并重新启动系统会导致相同的行为,就好像服务仍在运行(RunAtLoad 也为 False)。如果我手动卸载服务,那么它最终会停止执行脚本。 我是否误解了关闭后台项目的作用(如果是,那么它起什么作用?)或...

Admin

macOS 启动代理可以以非“活跃”用户的身份运行吗?
launchd

macOS 启动代理可以以非“活跃”用户的身份运行吗?

我在一台 iMac 上有多个用户。他们保持登录状态,但完成后会通过热角将显示器置于睡眠状态。短暂一段时间后,需要输入密码,这样他们就可以在必要时切换用户。 我有一些通过脚本运行的代码,用于访问用户的库(邮件)。它设置为通过文件~/Library/LaunchAgents夹中的启动代理为每个用户每晚(不同时间)运行。 问题是“非活跃”用户的启动代理不会触发。即使显示器(而非计算机)处于睡眠状态,它仍会为“活跃”用户触发。 我知道代理不会为已注销的用户运行。 有没有什么方法可以让两个代理都触发? ...

Admin

如何安排脚本即使 Mac 处于睡眠状态也自动运行?
launchd

如何安排脚本即使 Mac 处于睡眠状态也自动运行?

我对此确实很苦恼。 基本上,我希望每 3 小时在我的 Mac 上运行一次 Python 脚本。即使我不在使用 Mac。因此,即使 Mac 处于睡眠状态,我也希望它能够被唤醒并运行脚本。 我的攻击方法如下: 我下载了一个名为“scenario”的第三方应用程序,它会在 Mac 唤醒时运行脚本。 我已经在场景中放置了一个将调用 Python 文件的 Apple 脚本。 Python 文件运行我需要它运行的几个命令,然后设置pmset wake up call当前时间后 3 小时的计划。 现在整个系统很笨重,而且是拼凑起来的。说实话,它工作得不太好,因为...

Admin

launchd 无法访问外部驱动器
launchd

launchd 无法访问外部驱动器

我正在尝试自动执行一个脚本来备份我的 Mac mini(macOS 11.4)上的几个目录。我想要备份的一些文件存储在安装到 /Volumes/SHASTA 的外部驱动器上。我编写了一个快速启动脚本,只是为了看看它是否可以访问该目录,但它似乎出错了。以下是我写的内容: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dt...

Admin

如何查找并删除没有 .plist 的 LaunchAgent
launchd

如何查找并删除没有 .plist 的 LaunchAgent

我的 macOS (v11.2.1) 有许多不需要的 LaunchAgent 随系统一起加载,导致系统臃肿。其中一些我能够成功删除(只需找到它们的 .plist)。但是,对于其他一些,我无法简单地识别它们在启动过程中的加载方式,因为它们没有可识别的 .plist。 这篇文章专门针对 VoxAgent(由 Vox 音乐播放器推出,www.vox.rocks),但这种烦恼也发生在其他应用程序中(CleanMyMac X,Hazel......) 我可以使用 终止该服务launchctl remove com.coppertino.VOXAgent,但每次系统启动...

Admin

如何在mac上安排py程序每60分钟运行一次(在特定文件夹下)
launchd

如何在mac上安排py程序每60分钟运行一次(在特定文件夹下)

我是 Python 新手,我编写了我的第一个程序,并在一天中运行几次。该文件名为 quran_review_scheduler.py,位于我的用户目录“usr/dev/python/learning_python”下的文件夹中。当我想运行此文件时,我打开终端并将目录更改为 learning_python 并运行 python3 quran_review_scheduler.py,它运行良好。现在我想让这个脚本每小时运行一次。 我做了一些研究并发现 launchd - 我读过的 2 个教程是: https://nathangrigg.com/2012/07...

Admin

如何在 MacOS Catalina 启动时运行命令?
launchd

如何在 MacOS Catalina 启动时运行命令?

我已经在 Mac 上安装了 SoftEther VPNMacOS Catalina在我手动启动它之后,它运行良好。但是重新启动后 VPN 不会出现。 我目前必须打开一个终端窗口并输入命令./下载/vpnserver/vpnserver 启动 我不太喜欢把它放在文件夹中下载。 我应该将它移到哪里?我已作为用户登录。 如何让它在 Mac 启动时自动启动? ...

Admin

MacOS:在 USB 启动之前使用 Launchctl 启动虚拟机
launchd

MacOS:在 USB 启动之前使用 Launchctl 启动虚拟机

我在 /Library/LaunchDaemons 中有一个 plist 文件,它启动了一个无头且装有 Ubuntu 的虚拟机。 但问题是 USB 可能在 VM 启动之前尚未初始化,因此位于 COM 端口 /dev/ttyACM0(在 VM 上)的 USB 记忆棒不可用。 运行正常启动时“VBoxManage showvminfo userver”的输出: Currently Attached USB Devices: UUID:                 ...

Admin

尝试在运行时扩展 launchdaemon 的参数
launchd

尝试在运行时扩展 launchdaemon 的参数

我每天都会在中午启动一个 shell 脚本。我尝试将前一天的日期作为该脚本的参数传入启动守护进程的 .plist 中,但根据 stdout 和 stderr 日志,它无法运行。 我现在在 zshell 中手动运行我的脚本(并且运行良好):./my_script.sh --optionone $(date -v -1d +"%m/%d/%y") --optiontwo <key>ProgramArguments</key> <array> <string>/Users/kanejm/scripts/m...

Admin

MacOS Mojave - LaunchAgent plist 并非对所有用户运行
launchd

MacOS Mojave - LaunchAgent plist 并非对所有用户运行

我有一个 plist,放在 /Library/LaunchAgents 中,旨在为所有用户运行启动 Parallels 的脚本。(由于我运行的是网络用户环境,因此我无法简单地将其设置为启动项。)launchd 如下: <?xml version="1.0" encodings="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1....

Admin

睡眠后 launchd 脚本不再运行
launchd

睡眠后 launchd 脚本不再运行

只要我的计算机不进入睡眠状态,我的 launchd 配置中指定的脚本就可以正常工作(每 10 秒运行一次)。一旦进入睡眠状态,我必须重新加载 launchd 配置。这是我的配置: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dic...

Admin

在 Shell 脚本中,查找会因“参数过多”而失败,但如果直接在终端中运行则不会失败
launchd

在 Shell 脚本中,查找会因“参数过多”而失败,但如果直接在终端中运行则不会失败

我有一个工作站,用于临时存储图像,然后将压缩版本上传到服务器进行安全保存。我有兴趣每天凌晨 3 点使用通过 launchd 安排的脚本删除旧文件一次。 #!/bin/bash find /some/directory/with/pictures/* -exec rm -rf {} \+ 我已经验证了它可以在仅具有大约 250 mb 图像(30 张图像)的开发工作站上运行。 由于生产工作站尚未运行此脚本,因此它们很多图像的大小约为几百 GB。这意味着当find通过 shell 脚本执行时,它会停止并显示“参数太多”。 我花了很多时间试图找出原因(尝试...

Admin

如何使用 launchd 在 MacOS 上安排“docker-compose”的运行
launchd

如何使用 launchd 在 MacOS 上安排“docker-compose”的运行

我正在用构建一些软件docker-compose,我想按计划运行它。 因此,我需要在 MacOS (High Sierra,10.13.3) 上安排运行docker-compose up,使用启动。这是我正在使用的 LaunchAgent 配置。 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> &l...

Admin

在 macOS(OSX)上删除 Apache httpd 中的构建
launchd

在 macOS(OSX)上删除 Apache httpd 中的构建

我有一台 Mac Mini,在家里运行私人服务器。它运行的是 macos High Sierra (osx),之前使用过“Apple Server”来管理我的网站(使用内置的 apache httpd)。但由于 Apple 决定大幅削减 Apple Server 的功能,让它对我来说毫无用处,因此我不得不寻找其他解决方案。 我在网上搜索如何摆脱 httpd 中的构建。所有指南都只是说停止 apache 并为 launchd 卸载它。这很好用,直到重新启动,apache 中的构建又回来了。有些东西正在将其重新加载到 launchd 中。尽管我已禁用它,“co...

Admin

Python 脚本/Unix 可执行文件在终端中运行,作为 Cron/Launchd 作业失败
launchd

Python 脚本/Unix 可执行文件在终端中运行,作为 Cron/Launchd 作业失败

我正在尝试配置 launchd 来触发 python 脚本/unix 可执行文件(即带有舍邦线)。当我加载 .plist 文件(如下)时,launchctl显示状态 127,表示“指定的服务未随操作系统一起提供”。但是,当我将 .plist 文件中为“程序”输入的值复制并粘贴到 mac 终端中时,它运行正常。 我已将 stdout/stderr 重定向到终端(通过 .plist),它返回以下消息, $ env: python3: 没有此文件或目录 Program如果我将plist 中的值替换为一个简单的“hello world”批处理脚本,它就...

Admin