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
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