Я надеюсь, что это не дубликат, но я знаю, что я так близок к тому, чтобы выяснить это, я просто не могу понять последний бит.
У меня есть эта проблема в Python запуска двухфункционирует одновременно.Мне нужно запустить "top" (команда linux), а также выполнить каждую новую команду параллельно.Вот пример.
Быстрый дискорд-бот, которого я пытаюсь вызвать:
import subprocess
import discord
@client.event #Event listener
def on_message(message):
if message.content.startswith('top'):
subprocess.call(['top'])
Теперь этот фрагмент будет делать то, что я хочу, он будет называться дочерним процессомсверху и оставь это работающим.Проблема в том, что я не могу запустить другой подпроцесс таким же образом.Если я добавлю этот код:
@client.event #Event listener
def on_message(message):
if message.content.startswith('top'):
subprocess.call(['top'])
if message.content.startswith('kill top')
subprocess.call('killall', 'top')
Это простой пример, но он аналогичен любой программе, которую необходимо оставить работающей.
Любая попытка запустить вторую команду после уже запускасверху, это приведет к сбою бота, и я не могу получить сообщение об ошибке.Я думаю, что это либо дизайн внутри библиотеки Discord, которого я не вижу, либо мне нужно каким-то образом включить многопоточность, хотя я не уверен, с чего лучше начинать.