У меня есть скрипт python, который я бы хотел запустить при запуске на экземпляре ubuntu ec2, но я столкнулся с проблемами.ubuntu ec2 - запустить скрипт python при запуске с аргументами
Скрипт работает в цикле и заботится о себе или уходит, когда он готов, поэтому мне не нужно запускать или останавливать его после его запуска.
Я читал и пробовал много подходов с разной степенью успеха и честно смущен тем, что лучше всего подходит. Я попытался поместить сценарий оболочки, который запускает скрипт python в /etc/init.d, делая его исполняемым и делая update-rc.d, чтобы попытаться запустить его, но его не удалось на каждом этапе.
вот содержимое Айв сценария пытавшиеся:
#!/bin/bash
cd ~/Dropbox/Render\ Farm\ 1/appleseed/bin
while :
do
python ./watchfolder18.py -t ./appleseed.cli -u ec2 ../../data/
done
я тогда сделал
sudo chmod +x /etc/init.d/script_name
sudo sudo update-rc.d /etc/init.d/script_name defaults
Это, кажется, не работает на старте, и я не могу понять, почему, если я выполнить команду вручную работает, как и ожидалось.
Я также попытался добавить строку в rc.local, чтобы запустить сценарий, но это не похоже на работу либо
Может кто-нибудь рассказать, что они нашли это самый простой способ для запуска питона скрипт в фоновом режиме с аргументами при запуске экземпляра ec2.
UPDATE: ----------------------
Я с тех пор переехал этот код в файл под названием /home/ubuntu/bin/watch_folder_start
#!/bin/bash
cd /home/ubuntu/Dropbox/Render\ Farm\ 1/appleseed/bin
while :
do
python ./watchfolder18.py -t ./appleseed.cli -u ec2 ../../data/
done
и изменил мой rc.local
файл следующим образом:
nohup /home/ubuntu/bin/watch_folder_start &
exit 0
который работает, когда я вручную запустить rc.local но обыкновение пожара при запуске, я сделал chmod +x rc.local
, но это ничего не меняет,
только догадка: делает ваш скрипт для печати на терминал? В этом случае он умрет. Перенаправить вывод на лог-файлы или что-то подобное. – Matthias
ознакомьтесь с этим уроком (http://aameer.github.io/cloud-computing-101/) – Aameer