self.process = subprocess.Popen(self.cmd, shell=True, preexec_fn=os.setsid)
self.process.communicate()
print('Thread finished')
thread = threading.Thread(target=target)
thread.start()
thread.join(timeout)
if thread.is_alive():
    print('Terminating process')
os.killpg(self.process.pid, signal.SIGTERM)
thread.join()
print(self.process.returncode)
command = Command("echo 'Process started'; sleep 2; echo 'Process finished'")
command.run(timeout=3)
command.run(timeout=1)
Как вызвать системную команду с указанным ограничением по времени в Python?