Я пытаюсь установить автоматически программу для getintraday.py в Mac, используя launchctl.
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>
Команда загрузки
launchctl load -w com.demo.plist
Но я получаю / Users / yindeyong / Рабочий стол / Django_Projects /pythonstock / com.demo.plist: Нет такого файла или каталога