Имеется Ubuntu 16.04.6 LTS с python-2.7.12. В питоне не эксперт, но вынужден поддерживать переданный по наследству код. Вот фрагмент:
from threading import Thread
...
class Shell(cmd.Cmd):
...
def do_start(self, line):
threads = []
t = Thread(target=traffic(line, arg1, arg2, arg3))
threads.append(t)
t.start()
t.join()
...
if __name__ == '__main__':
global config
global args
args = parse_args()
config = configparser.ConfigParser()
config.read(args.FILE)
s = Shell()
...
То есть запускает небольшой command-line shell, где набираются определенные команды и они выполняются. Это работает, но питоновский CLI блокируется когда стартует «поток».
Погуглил и подумал, что добавление t.setDaemon(True) (до t.start() или после) должно помочь. Однако должного эффекта не возымело. Также пробовал убрать t.join() — аналогично.
Что я делаю не так?