popen 예제

하위 프로세스를 시작하는 데 권장되는 방법은 다음과 같은 편의 함수를 사용하는 것입니다. 요구 사항을 충족하지 못하는 고급 사용 사례를 보려면 기본 Popen 인터페이스를 사용하십시오. 위에 표시된 인수는 자주 사용되는 인수(따라서 축약된 서명에서 약간 이상한 표기법)에서 아래에 설명된 가장 일반적인 인수일 뿐입니다. 전체 함수 시그니처는 Popen 생성자의 서명과 동일합니다 . Popen 클래스의 인스턴스에는 다음과 같은 메서드가 있습니다: shell=True가 있는 유닉스에서 셸기본값은 /bin/sh입니다. args가 문자열인 경우 문자열은 셸을 통해 실행할 명령을 지정합니다. 즉, 셸 프롬프트에 입력할 때와 똑같이 문자열의 서식이 지정되어야 합니다. 예를 들어, 인용 또는 백슬래시에 공백이 있는 파일 이름을 이스케이프합니다. args가 시퀀스인 경우 첫 번째 항목은 명령 문자열을 지정하고 추가 항목은 셸 자체에 대한 추가 인수로 처리됩니다. 즉, Popen은 다음과 같습니다: 이러한 옵션은 다른 모든 옵션과 함께 Popen 생성자 설명서에 자세히 설명되어 있습니다. Windows STARTUPINFO 구조의 부분 지원은 Popen 생성에 사용됩니다. 입력 필터를 열기 전에 버퍼링된 판독값은 해당 필터의 표준 입력이 잘못 배치될 수 있습니다. 출력 필터와 유사한 문제는 신중한 버퍼 플러싱으로 방지할 수 있습니다.

예를 들어 fflush()를 사용합니다. popen2는 기본적으로 모든 파일 설명기를 닫지만 close_fds=Popen을 사용하여 True를 지정해야 합니다. Popen 생성 플래그 매개 변수를 지정하여 새 프로세스 그룹을 만들도록 지정합니다. 이 플래그는 하위 프로세스에서 os.kill()를 사용하는 데 필요합니다. IMHO는 명령과 더 나은 처음 2 예입니다반환 코드가 관련되어있는 경우,예를 들어 이동 또는 복사 작업 (나는 시스템 관리가 내 일이 아니지만) 정렬 명령에 파이프를 열고 배열을 정렬하는이 예제를 고려하십시오. 문자열: 이 플래그는 Popen이 shell=True로 생성될 때 항상 설정됩니다. Popen에 대한 stdin, stdout 또는 stderr 인수로 사용할 수 있고 표준 스트림에 대한 파이프를 열어야 한다는 것을 나타내는 특수 값입니다. 다음 예제에서는 하위 프로세스 모듈에서 관련 함수를 이미 가져온 것으로 가정합니다. 다음 예제에서는 현재 디렉터리에서 파일 목록을 얻기 위해 popen() 및 pclose()를 사용하여 명령 ls *를 실행하는 방법을 보여 줍니다. stdin이 다른 명령의 stdout임을 지정합니다.

예를 들어 `에코`를 실행하려면 | grep -i-o `hello“: 새 프로세스에서 자식 프로그램을 실행합니다. 유닉스에서 클래스는 os.execvp()와 같은 동작을 사용하여 자식 프로그램을 실행합니다.