Ваш код на С имеет переменную без ссылки str1
, FYI. Не проблема, хотя.
Однако после сборки hello1.exe
и hello2.exe
с помощью Visual C ++ и запуска вашего скрипта я не получаю сообщение об ошибке, поэтому ваша проблема связана с чем-то другим в вашей настройке.
#include "stdafx.h"
#include "stdio.h"
int main(int argc, char *argv[]) {
int i = 0;
while (i < 30) {
fprintf(stderr, "hello[1/2]\n");
i++;
}
while (1);
}
И тогда это работает так, как вы ожидаете:
import subprocess
processes = [subprocess.Popen(program, universal_newlines=True, shell=True) for program in ['hello1.exe', 'hello2.exe']]
for process in processes:
process.wait()
Она печатает hello1
и hello2
и 30 раз, и ждет.