我有一个 python 脚本,我想在 ubuntu ec2 实例上启动,但我遇到了麻烦。
该脚本在循环中运行,并在它准备好时小心或退出,所以我不应该在它运行后启动或停止它。
我已经阅读并尝试了很多不同程度的成功方法,老实说,我对什么是最好的方法感到困惑。我尝试在 /etc/init.d 中放置一个启动 python 脚本的 shell 脚本,使其可执行并执行 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 中添加一行来启动脚本,但这似乎也不起作用
任何人都可以分享他们发现的是在后台运行 python 脚本的最简单方法,并在启动 ec2 实例时使用参数。
更新: - - - - - - - - - - -
我已经将此代码移动到一个名为/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
但这并没有改变任何东西,