1) 프로세스 kill 시 pid.kill() 대신에
os.kill(p.pid, signal.SIGKILL) 로 변경. 이는 kill -9 효과를 발휘함
2) Popen(cmd, shell=False) 의 의미
cmd 를 list 형태로 적으면 shell=False를 쓰고
cmd 를 하나의 string으로 적으면 shell=True를 써야 한다.
cf) shell=True로 불러진 명령이 새로운 프로세스를 띄우는 거면 실제로는 2개의 프로세스가 뜨게 된다. 하나는 쉘이고 하나는 뜨우고자 한 프로그램이다.
따라서 스크립트가 아닌 프로세스를 띄우는거면 cmd를 리스트 형태로 만들고 shell=False로 하여서 실행하여야 한다. 나중에 죽을때 2개를 죽여야 하는가? 하나를 죽여야 하는가를 고생하게 되지 않기 위해서 ㅋㅋ
참고:
http://bbs.python.or.kr/viewtopic.php?p=63000&sid=120dab64d6daba21c16ec134e672cad8
os.kill(p.pid, signal.SIGKILL) 로 변경. 이는 kill -9 효과를 발휘함
2) Popen(cmd, shell=False) 의 의미
cmd 를 list 형태로 적으면 shell=False를 쓰고
cmd 를 하나의 string으로 적으면 shell=True를 써야 한다.
cf) shell=True로 불러진 명령이 새로운 프로세스를 띄우는 거면 실제로는 2개의 프로세스가 뜨게 된다. 하나는 쉘이고 하나는 뜨우고자 한 프로그램이다.
따라서 스크립트가 아닌 프로세스를 띄우는거면 cmd를 리스트 형태로 만들고 shell=False로 하여서 실행하여야 한다. 나중에 죽을때 2개를 죽여야 하는가? 하나를 죽여야 하는가를 고생하게 되지 않기 위해서 ㅋㅋ
참고:
http://bbs.python.or.kr/viewtopic.php?p=63000&sid=120dab64d6daba21c16ec134e672cad8