Fix process leak
You are killing a subprocess without check never the result status, so you are leaking zombie processes: ``` osmc@osmc:~$ ps aux | grep http osmc 19187 0.0 0.0 0 0 ? ZN 22:35 0:00 [torrent2http] <defunct> osmc 19205 0.0 0.0 0 0 ? ZN 22:35 0:01 [torrent2http] <defunct> osmc 19258 0.0 0.0 0 0 ? ZN 22:37 0:00 [torrent2http] <defunct> osmc 19274 1.1 0.0 0 0 ? ZN 22:37 0:19 [torrent2http] <defunct> osmc 19347 0.1 0.0 0 0 ? ZN 22:39 0:01 [torrent2http] <defunct> osmc 19363 0.0 0.0 0 0 ? ZN 22:40 0:00 [torrent2http] <defunct> osmc 19463 0.0 0.0 0 0 ? ZN 22:43 0:00 [torrent2http] <defunct> osmc 19482 0.0 0.0 0 0 ? ZN 22:44 0:00 [torrent2http] <defunct> osmc 19498 2.1 0.0 0 0 ? ZN 22:44 0:26 [torrent2http] <defunct> osmc 19543 0.0 0.0 0 0 ? ZN 22:45 0:00 [torrent2http] <defunct> osmc 19559 0.0 0.0 0 0 ? ZN 22:45 0:00 [torrent2http] <defunct> osmc 19576 0.0 0.0 0 0 ? ZN 22:45 0:00 [torrent2http] <defunct> osmc 19591 2.3 0.0 0 0 ? ZN 22:45 0:28 [torrent2http] <defunct> osmc 19642 0.0 0.0 0 0 ? ZN 22:47 0:00 [torrent2http] <defunct> osmc 19658 2.1 0.0 0 0 ? ZN 22:47 0:22 [torrent2http] <defunct> osmc 19705 2.1 0.0 0 0 ? ZN 22:49 0:19 [torrent2http] <defunct> ``` With wait() Python reads the termination status and the SO removes the zombie process.sandbox1
parent
91b10341c5
commit
35f474b43e
|
@ -482,6 +482,7 @@ class Engine:
|
||||||
else:
|
else:
|
||||||
self._log("torrent2http successfully shut down.")
|
self._log("torrent2http successfully shut down.")
|
||||||
self.wait_on_close_timeout = None
|
self.wait_on_close_timeout = None
|
||||||
|
self.process.wait()
|
||||||
self.started = False
|
self.started = False
|
||||||
self.logpipe = None
|
self.logpipe = None
|
||||||
self.process = None
|
self.process = None
|
||||||
|
|
Loading…
Reference in New Issue