1

launchctlを使用して、Macでgetintraday.pyの自動プログラムを設定しようとしています。

1.run.sh を作成する

getintraday.py ディレクトリに移動します

cd /Users/yindeyong/Desktop/Django_Projects/pythonstock


vi run.sh

以下はrun.shです:

#!/bin/sh

# record start time
echo `date` >> /Users/yindeyong/Desktop/Django_Projects/pythonstock/log &&

# go to getintraday.py directory

cd /Users/yindeyong/Desktop/Django_Projects/pythonstock &&

# Execute python scripts according to my virtual environment
/Users/yindeyong/Desktop/Django_Projects/envs/stockenv/bin/python3.6 getintraday.py
# Execute done
echo 'finish' >> /Users/demo/log/Users/yindeyong/Desktop/Django_Projects/pythonstock/log

次に、保存してかなり

 :wq
chmod 777 run.sh

2. plist ドキュメントを作成する

~/Library/LaunchAgents に移動,com.demo.plist を作成

以下は、com.demo.plist の作成です。

    <?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>
      <!-- Label -->
      <key>Label</key>
      <string>com.demo.plist</string>
      <!-- the script to Execute -->
      <key>ProgramArguments</key>
      <array>
        <string>/Users/yindeyong/Desktop/Django_Projects/pythonstock/run.sh</string>
      </array>
      <!-- the time to Execute  -->
      <key>StartCalendarInterval</key>
      <dict>
            <key>Minute</key>
            <integer>37</integer>
            <key>Hour</key>
            <integer>10</integer>
      </dict>
    <!-- Standard output file -->
    <key>StandardOutPath</key>
    <string>/Users/yindeyong/Desktop/Django_Projects/pythonstock/run.log</string>
    <!-- 
Standard error output file, error log -->
    <key>StandardErrorPath</key>
    <string>/Users/yindeyong/Desktop/Django_Projects/pythonstock/run.err</string>
    </dict>
    </plist>
  1. ロードコマンド

    launchctl load -w com.demo.plist

しかし、/Users/yindeyong/Desktop/Django_Projects/pythonstock/com.demo.plist: No such file or directoryを取得します

4

1 に答える 1