在启动状态下运行Shell和Python脚本(写入文件)

时间:2018-11-12 23:30:45

标签: python shell automation cron launchd

我对互联网上有关发布的信息/视频不足感到惊讶。无论如何,我对在Mac终端中编写shell脚本和python还是比较陌生,但是我正在尝试使脚本自动执行,以每20秒将日期时间写入文件。

下面是我的plist文件,写在〜/ Library / LaunchAgents下。

<?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">
<dict>
    <key>Label</key>
    <string>com.example.py.plist</string>
    <key>RunAtLoad</key>
    <true/>
    <key>ProgramArguments</key>
    <array>
            <string>/Users/sammahle/bin/python_file</string>
    </array>
    <key>StartCalendarInterval</key>
    <integer>20</integer>
</dict>
</plist>

脚本中引用的“ python_file”为

#!/usr/bin/python
import datetime
print 'Hello World'
datetime1 = str(datetime.datetime.now())
with open('file.txt','w') as f:
    f.write(datetime1)

,当我执行launchctl列表时,我发现“-1 com.example.py.plist” 我在下面的shell脚本中运行了相同的内容,然后再次收到状态代码“ 1”,根据LaunchD Plist not working的意思是“退出代码1表示该脚本因错误而退出。如果以0退出,则表示没有错误。”

#!/bin/bash
echo "Hello World!" >> file.txt

我的最终目标是每天运行复杂的python脚本,而无需始终运行该程序。如果有人知道更好的解决方案(我选择通过cron启动,因为它是“首选”),请告诉我。

0 个答案:

没有答案