捕获数据并将其发送到 PC 的脚本

捕获数据并将其发送到 PC 的脚本

我需要编写一个脚本来自动执行捕获和发送数据的过程。

我有剧本MQTT.py(在我的 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 信号以确保程序确实被终止。

超时的手册可以找到这里

相关内容