Raspberry Pi:从python中终止raspistill命令

时间:2013-09-16 10:33:59

标签: python linux subprocess raspberry-pi

我正在尝试在服务器上使用PHP文件将一些变量传输到Python脚本中,这反过来会在我的Raspberry Pi上启动raspistill timelapse。

我到目前为止已经设法开始拍照但我现在想要一个按钮来杀死游戏中时光倒流 - 我尝试了很多方法,包括.kill()和.terminate(),但是无法让它工作。

这是我当前的python代码:

import sys, os, time, datetime
import subprocess
import signal
from time import sleep

tlfreq = int(sys.argv[1])
tltime = int(sys.argv[2])
dir = '/var/www/timelapse/' + sys.argv[3]

if not os.path.exists(dir):
    os.makedirs(dir)

cmd = ('raspistill -t ' + str(tltime) + " -tl " + str(tlfreq) + " -o " + dir + "/photo_%04d.jpg")
pro = subprocess.Popen(cmd, stdout=subprocess.PIPE,
                   shell=True, preexec_fn=os.setsid)
print "Pictures are now being taken every" , tlfreq/1000 , "second/s for a total of", tltime/3600000 , "hours. These are being stored in", dir

也许我需要一个“if variable = 1 then kill”命令然后将变量发送到python。

非常感谢任何帮助!

非常感谢, 丹

2 个答案:

答案 0 :(得分:1)

您可以使用此代码

创建新的python脚本kill_raspystill.py
import os

os.system("pkill raspistill")

并在按下按钮时调用该脚本。

答案 1 :(得分:0)