#macos #launch #agents #file #logging #run

app launchify

macOS上的简易启动代理

4个版本 (2个破坏性更新)

0.3.1 2021年2月19日
0.3.0 2021年2月17日
0.2.0 2021年2月16日
0.1.0 2021年2月15日

#12 in #agents

MIT 许可证

15KB
344 代码行(不含注释)

Launchify

Launchify是一个工具,可以轻松地在macOS上安排程序作为常规后台任务运行。例如,要安排程序myprog每5分钟运行一次

$launchify 5m myprog

在内部,launchify使用launchd注册您的程序运行。它将模板配置文件写入~/Library/LaunchAgents,并将其设置为将日志写入~/logs/myprog

安装

安装需要Rust工具链,可以通过以下方式安装

$curl https://sh.rustup.rs -sSf | sh

然后使用cargo安装

$cargo install launchify

高级用法

要查看完整的CLI选项,运行launchify -h

您可以使用(d)天、(h)小时、(m)分钟或(s)秒来指定程序运行的时间间隔。例如,要每小时运行一次myprog

$launchify 1h myprog

请注意,myprog可以是可执行文件的绝对路径或相对路径,也可以是您PATH中的可执行文件名称。

可以通过--args选项指定额外的程序参数

$launchify 5m myprog --参数="--foo bar"

您可以通过--name覆盖用于标记launchify作业和日志目录的默认名称。默认情况下,名称是从程序文件名派生出来的。

$launchify 5m myprog --名称=my_awesome_program

默认情况下,任务将被配置为在运行launchify时所在的相同工作目录中运行,但可以通过--working-dir选项覆盖

$launchify 5m myprog --工作目录=/path/to/dir

与launchctl的比较

launchify的目的不是取代launchctl,而是一个方便的工具,以补充它。launchify故意不支持可能传递给launchctl的完整配置选项,而是针对常见的用例进行优化。

使用launchify安排程序后,您将找到配置文件被写入到~/Library/LaunchAgents/com.<name>.plist。要停止运行程序,请运行

$launchctl unload~/Library/LaunchAgents/com.<名称>.plist

有关macOS上启动代理和守护进程的更多信息,请参阅https://developer.apple.com/library/archive/documentation/MacOSX/Conceptual/BPSystemStartup/Chapters/CreatingLaunchdJobs.html

依赖项

约9-20MB
约279K SLoC