Python에서 분리된 백그라운드 프로세스를 시작하는 방법
쉘 스크립트를 Python으로 변환할 때 다음에서 프로세스를 시작해야 할 수도 있습니다. 스크립트가 완료된 후에도 지속되는 배경. 이를 달성하려면 Python의 subprocess 모듈을 활용할 수 있습니다.
subprocess.Popen
subprocess.Popen 함수 사용 새로운 프로세스를 생성할 수 있습니다. 백그라운드에서 프로세스를 시작하고 상위 프로세스에서 분리하려면 shell=True 및 stderr=subprocess.STDOUT 인수를 subprocess.Popen에 전달하세요.
import subprocess subprocess.Popen(["command", "arg1", "arg2"], shell=True, stderr=subprocess.STDOUT)
포크 사용하기() 함수
또 다른 옵션은 fork() 함수를 사용하여 상위 프로세스와 동시에 실행되는 하위 프로세스를 만드는 것입니다. 그러나 이 방법은 더 발전된 방법이며 신호와 리소스를 주의 깊게 처리해야 합니다.
차단 방지
자식 프로세스가 대기하는 동안 상위 프로세스가 차단되는 것을 방지하려면 완료하려면 에서 반환한 프로세스 개체에 대해 communicate() 메서드를 호출하지 마세요. Popen.
예
백그라운드에서 sleep 30을 실행하는 프로세스를 시작하려면 다음을 사용하세요. 다음:
import subprocess subprocess.Popen(["sleep", "30"])
설명
이 맥락에서 "백그라운드"는 시작 여부에 관계없이 상위 프로세스와 독립적으로 실행되는 프로세스를 시작하는 것을 의미합니다. 쉘 배경.
위 내용은 Python의 'subprocess' 모듈을 사용하여 백그라운드 프로세스를 분리하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!