У меня есть файл mqtt (paho), который прослушивает сообщение iot, а затем выполняет какое-то действие. В тестовом проекте у меня есть 2 процесса, один - «воспроизведение аудио», а другой - «остановка» этого процесса
def on_connect(self, mosq, obj, rc):
mqttc.subscribe(MQTT_TOPIC_START, 0)
mqttc.subscribe(MQTT_TOPIC_STOP, 0)
def on_message(mosq, obj, msg):
print "Topic: " + str(msg.topic)
print "QoS: " + str(msg.qos)
print "Payload: " + str(msg.payload)
iot_data = json.loads(str(msg.payload))
if (iot_data["action"]== 'capture'):
subprocess.call('python play_audio.py', shell=True)
elif (iot_data["action"]== 'stop'):
subprocess.call('pkill -f play_audio.py', shell=True)
1-й процесс (воспроизведение аудио) работал отлично, но 2-й процесс можно вызвать только после завершения 1-го процесса. Следовательно, 2-й процесс не может остановить воспроизведение звука.
Как я могу остановить 1-й процесс "воспроизведения аудио" 2-м процессом?
Любое предложение приветствуется.