データのキャプチャと転送プロセスを自動化するスクリプトを作成する必要があります。
スクリプトがありますMQTT.py(My Raspberry Piで)データを継続的にキャプチャして保存します。myFile.dat。私は使う同期マイコンピュータからファイルを送信するコマンドラズベリーパイ私に与えられたパーソナルコンピュータ。
私は走らなければなりませんMQTT.pyデータキャプチャを開始するスクリプトは次のように言います。1分、プロセスが停止し、ファイルがマイコンピュータに転送され、キャプチャプロセスが再開され、1分後に同じことが再び発生します。
スクリプトを作成しようとしましたが、mqtt.pyプロセスを終了するコマンドはありません。
while(true) do
python mqtt.py #Capturing and storing data in myFile.dat
echo "Process mqtt.py started"
sleep 60 #After 1 minute
#Command to kill process mqtt.py
echo "Process mqtt.py stopped"
#Sending myFile.dat to PC
rsync -avz --remove-source-files myFile.dat [email protected]:/home/chb-pc/Desktop/ftp
echo "File sent to destination"
done
答え1
時間ベースの要件があるため、timeout
次の選択肢をお勧めします。
timeout 60 python mqtt.py
timeout
コマンド()を起動しpython mqtt.py
、指定された期間(この場合は60秒)待ちます。この後もコマンドが継続して実行されている場合は、コマンドを終了するための信号がコマンドに送信されます。基本信号は SIGTERM ですが、代替信号を指定できます。プログラムが実際に終了していることを確認するために、セカンダリSIGKILL信号を送信することもできます。
タイムアウトマニュアルを見つけることができますここ。