subprocess.Popen (someexternalCommand)에 의해 생성되고 실행되는 5 개의 프로세스가 있습니다. 명령어가 순차적으로 시작되는 것이 중요합니다. 두 번째 프로세스는 첫 번째 프로세스가 시작되어 실행될 때까지 시작되어서는 안됩니다. 다음 코드를 사용 하였다 :파이썬에서 특정 순서로 Popen 프로세스를 실행하도록
proc1 = TrafficGenUtils.Popen(someexternalCommand)
time.sleep(10)
proc2 = TrafficGenUtils.Popen(someexternalCommand)
time.sleep(10)
...
가 실행 순서는 프로세스의 수는 3 살 때 유지하지만, 5 거의 유지하지 않고 도움이되지 않아도 60 초 수면을 증가 없었는데. Popen 프로세스의 실행을 순차적으로 수행하는 방법. 내 코드가 Popen이 OS를 사용하여 프로세스를 생성하지만 OS가 기동 할 때마다 시작한다는 사실과 관련이있는 이유는 무엇입니까? Windows 8 및 Python 2.7을 사용하고 있습니다.
프로세스가 "시작되어 실행 중일 때"어떻게 알 수 있습니까? 그런 다음 동일한 것을 찾기 위해 프로그램을 가르치기위한 코드를 작성해야합니다. 시작하는 프로세스의 코드를 제어하는 경우 훨씬 쉬울 수 있습니다 (예 : 프로세스가 준비되면 새 파일이 만들어지고 주 프로그램이 새 파일이 나타날 때까지 기다릴 수 있음). BTW,'sleep()'은 프로세스 간 (또는 스레드 간) 통신 문제를 해결하기위한 거의 절대적인 접근법이 아닙니다. –
감사합니다. 하지만 주 프로그램이 시작되는 프로세스를 제어 할 수는 없습니다. 프로세스는 exe 파일입니다. – user1264304
그래서 다시 묻습니다. 프로세스가 "시작되어 실행 중일 때 어떻게 알 수 있습니까?" 여기에는 마법이 없습니다. 너는 알거나 너는 모른다. 모르는 경우 문제를 해결할 수 없습니다. 당신이 알고 있다면, 당신도 당신의 프로그램을 어떻게 아는 법을 가르쳐야 만합니다. –