블로그 이미지
훅크선장

카테고리

분류 전체보기 (362)
사진이야기 (23)
펭귄컴퓨팅 (121)
컴퓨터보안 (84)
절름발이 프로그래머 (59)
하드웨어개조 (23)
멀알려줄까 (35)
홈베이킹&홈쿠킹 (2)
잡다한것들 (15)
Total
Today
Yesterday

달력

« » 2024.5
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

공지사항

태그목록

최근에 올라온 글

를 참고했습니다.

python 2.3 이하 버전에서 주로 쓰던 방법은 spawn 계열 함수를 이용합니다. 
python 2.4 이상에서는 Popen 함수 또는 call 함수를 이용합니다.

가능하면,  spawn 계열보다는 Popen이나 call을 이용하기를 권장하고 있습니다.

import Popen from subprocess

P_NOWAIT example:
pid = os.spawnlp(os.P_NOWAIT, "/bin/mycmd", "mycmd", "myarg")
==>
pid = Popen(["/bin/mycmd", "myarg"]).pid

P_WAIT example:
retcode = os.spawnlp(os.P_WAIT, "/bin/mycmd", "mycmd", "myarg")
==>
retcode = call(["/bin/mycmd", "myarg"])

Vector example:
os.spawnvp(os.P_NOWAIT, path, args)
==>
Popen([path] + args[1:])

Environment example:
os.spawnlpe(os.P_NOWAIT, "/bin/mycmd", "mycmd", "myarg", env)
==>
Popen(["/bin/mycmd", "myarg"], env={"PATH": "/usr/bin"})


실제 사용해 보니,
Popen(["c:\progdir\prog.exe", ("%d" % int_val), ("%s" % str_val)], cwd =  "c:\progdir\\")

라고 쓰는게 가장 안정적이다.
cwd 변수는 프로그램의 실행디렉토리를 지정하는 것으로, 프로그램이 그 디렉토리에서 실행되는 효과를 가진다.
Posted by 훅크선장
, |