From 85d861fdb44a43198f55ae4aa5d5c2dee5c3a1a8 Mon Sep 17 00:00:00 2001 From: bkfox Date: Mon, 9 Jan 2017 14:09:37 +0100 Subject: [PATCH] kill process the hard way in controllers.py --- aircox/controllers.py | 11 +++++++++-- aircox/management/commands/streamer.py | 1 - 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/aircox/controllers.py b/aircox/controllers.py index 9f9e86f..e203b01 100755 --- a/aircox/controllers.py +++ b/aircox/controllers.py @@ -2,6 +2,7 @@ import os import re import subprocess import atexit +import logging from django.template.loader import render_to_string @@ -10,6 +11,8 @@ import aircox.settings as settings from aircox.connector import Connector +logger = logging.getLogger('aircox.tools') + class Streamer: """ @@ -148,11 +151,15 @@ class Streamer: if not args: return self.process = subprocess.Popen(args, stderr=subprocess.STDOUT) - atexit.register(self.process.terminate) + atexit.register(lambda: self.process_terminate()) def process_terminate(self): if self.process: - self.process.terminate() + logger.info("kill process {pid}: {info}".format( + pid = self.process.pid, + info = ' '.join(self.__get_process_args()) + )) + self.process.kill() self.process = None def process_wait(self): diff --git a/aircox/management/commands/streamer.py b/aircox/management/commands/streamer.py index f1f6656..9be32d6 100755 --- a/aircox/management/commands/streamer.py +++ b/aircox/management/commands/streamer.py @@ -6,7 +6,6 @@ used to: - cancels Diffusions that have an archive but could not have been played; - run Liquidsoap """ -import os import time import re