def example_function(self):
number = self.lineEdit_4.text() #Takes input from GUI
start = "python3 /path/to/launched/script.py "+variable1+" "+variable2+" "+variable3 #Bash command to execute python script with args.
for i in range(0,number):
x = subprocess.Popen(start,stdout=subprocess.PIPE,stderr=subprocess.PIPE,shell=True)#Launch another script as a subprocess
Таким образом, этот код запускает другой скрипт на Python для нескольких раз, каждый питон скрипт содержит бесконечное время цикла, так что, я пытаюсь создать функцию, которая убивает любое количество процессов генерируется этой выше функцией. Я попытался вещи, какКак я могу прекратить отворились все дочерние процессы в подпроцессе
x.terminate()
Но это просто не работает, я думаю, что должно убить все подпроцессы, но он не делает этого, я думаю, что это может быть убийство последнего запущенным процесса или что-то эти строки, но мой вопрос: как я могу убить любое количество процессов, запущенных моей первой функцией?
Вы перезапись 'x' переменных каждый раз через петлю, так что он просто содержит последний подпроцесс вы начали. Поместите их в список, а затем убейте всех из них в цикле. – Barmar
Я не думаю, что каждый отдельный процесс может присваивать собственную уникальную переменную для возможного уникального количества процессов каждый раз. Можете ли вы привести пример того, как я могу это сделать? – user3907837
Я не сказал уникальных переменных, я сказал, чтобы составить список. – Barmar