pythonからシェルコマンドを起動

・pythonでshellコマンド使う(sw押されたらシャットダウン処理)

>> import subprocess

>> subprocess.call([“ls”, “-l”])

二行目は、

>> subprocess.call(‘ls -l’, shell=True)

shell=True指定でベタ書きできるけど、インジェクションリスクはある。

shutdownは、

>> subprocess.call(‘sudo shutdown -h now’, shell=True)

・起動時のスクリプト自動起動(co2センサーのログ取りとdio制御スクリプト)

/etc/rc.localのexit前に以下のように記述しますが、

/usr/bin/python /home/pi/gpio.py &

ルート権限実行なのでフルパスで記述することと、終了しないスクリプトの場合にはバックグランド動作とするために最後に”&”を付加します。

 

admin