Pythonスクリプトがクラッシュするたびに自動的に起動されます。

Pythonスクリプトがクラッシュするたびに自動的に起動されます。

私のラズベリーパイでクラッシュが発生するたびにPythonスクリプトを自動的に起動しようとしています。ここで提供されているシェルスクリプトソリューションに従いました。https://raspberrypi.stackexchange.com/questions/14735/how-do-i-restart-a-python-program-on-my-pi-when-it-crashes

ルートディレクトリにsudo nano constantrun.sh

現在のシェルスクリプトの内容は次のとおりです(コメントと回答で提供されている変更を考慮した後)。

#!/bin/sh

COMMAND='python home/pi/projects/mypythonscript.py'
LOGFILE=restart.txt

writelog() {
  now=`date`
  echo "$now $*" >> $LOGFILE
}

writelog "Starting"
while true ; do
  $COMMAND
  writelog "Exited with status $?"
  writelog "Restarting"
done

sudo chmod +x constantrun.shその後、実行可能にするために実行しました。

その後、sudo sh constantrun.shスクリプトを正常に実行しました。

これでスクリプトを初期化できます。しかし、私のPythonスクリプトはmysqlconnectorモジュールを使用しているので、今表示されるエラーは次のとおりです。Traceback (most recent call last): File "mypythonscript.py", line 8, in <module> import mysql.connector as mariadb ImportError: No module named mysql.connector

ファイルエクスプローラを使用すると、mysql.connectorがインストールされているようです。home/pi/.local/lib/python2.7/site-packages/mysql_connector-‌​‌​2.1.6.dist-info

このエラーをどのように解決できますか?

ベストアンサー1

xを実行する権限がありません。以下を使用する必要がmypythonscript.pyあります。chmod

chmod +x /home/pi/projects/mypythonscript.py

またシェルボーンPythonスクリプトの場合は、次のようになります。

#!/usr/bin/python3

おすすめ記事