두 개의 파이썬 스크립트가 있습니다. 첫 번째 스크립트는 제 3 자 파이썬 스크립트를 실행해야하는 두 번째 스크립트 테이블을 호출합니다. 다음과 같이 보입니다.os.system 대 리눅스에서 파이썬의 서브 프로세스
# the call from the first script.
cmd = "qsub -sync y -b -cwd -V -q long -t 1-10 -tc 5 -N 'script_two' ./script2.py"
script2thread = pexpect.spawn(cmd)
# end of script 1
그래서 여기서 10 개의 작업을 대기열로 보냅니다. 스크립트 2에서는 task_id를 기반으로 case 문이 있습니다. 각각의 다른 매개 변수를 사용하여 제 3 자 스크립트에 비슷한 호출을합니다.
...
elif(task_id == 4)
subprocess.call(./script3)
# or
os.system(./script3 , shell=True)
내 질문이있는 곳입니다. 하나 또는 다른 것을 사용하는 것과 차이점/이점이 있습니까? 나는 다른 하나 이상을 사용하는 윈도우에서 지원 문제로 인해 큰 차이를 만들지 만, 나는 리눅스에 있고 창에서 이것을 실행할 의도가 없다는 것을 알고있다. 때로는 하위 프로세스를 사용하여 매우 이상한 결과를 얻습니다. 세 번째 스크립트가 독립적으로 한 번에 하나씩 실행될 때 네트워크에서 다른 것을 찾을 수 없습니다.
[파이썬에서 외부 명령 호출] 가능한 복제본 (https://stackoverflow.com/questions/89228/calling-an-external-command-in-python) – Nabin