python subprocess 백그라운드로 돌리기
python-flask로 개발을 하고 있는데 무거운 작업을 처리해야 할 때가 있다.
그러나 flask가 subprocess로 실행한 명령을 기다리느라 응답이 늦는 경우가 있어서 이를 백그라운드로 따로 돌릴 필요가 있었다.
import subprocess
command = "무거운 작업 명령어"
subprocess.Popen(command, shell=True)
위와 같이 Popen을 사용하면 된다고 한다.
shell=True 옵션은 해당 명령을 쉘 상에서 실행하기 때문에 command injection에 취약할 수 있으므로, 충분한 파라미터 검증을 거치거나, 사용자 검증을 충분히 해야 한다.
댓글
댓글 쓰기