[尝试在启动时运行python脚本时获得状态78 launchctl

问题描述 投票:0回答:1

我正在尝试运行在MAC OS X上启动的python脚本;但是,脚本未运行。当我用launchctl检查状态码时,它是状态码78。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>com.chris.team-drive-table-contents</string>

    <key>WorkingDirectory</key>
    <string>cd ~/Coding\ Scripts/Google\ Apps\ Script/</string>

    <key>ProgramArguments</key>
    <array>
        <string>python</string>
        <string>team_drive_folder_tree.py</string>
    </array>

    <key>StartInterval</key>
    <integer>60</integer>

    <key>RunAtLoad</key>
    <true/>

    <key>KeepAlive</key>
    <true/>
</dict>
</plist>

该脚本应该每60秒运行一次,但根本没有运行。

python launchd launchctl
1个回答
0
投票

以下内容在我的系统上可以使用launchd调用python文件。如果您可以在终端中使用python3 myfile.py之类的名称来调用python文件,请为python3.7应用程序和文件放置正确的路径。从您的示例中,这意味着您可以使用终端调用“ pythonteam_drive_folder_tree.py”,因此您需要这两件事的路径并在下面更新我的代码。

在我的计算机上,我的python3.7版本恰好位于我的anaconda用户目录中,因此在下面的示例中引用了它。其他注意事项:

filename:com.local.pySched.plist

plist在用户级别的LaunchAgents目录中

在您的plist标签之间:

<dict>
    <key>Label</key>
    <string>com.local.pySched</string>
    <key>ProgramArguments</key>
    <array>
        <string>/Users/UsrName/anaconda3/bin/python3.7</string>
        <string>/Users/UsrName/python_work/Schedule_Test.py</string>
    </array>
    <key>StartInterval</key>
    <integer>60</integer> 
    <key>RunAtLoad</key>
    <true/>
</dict>
© www.soinside.com 2019 - 2024. All rights reserved.