파이프와 함께 하위 프로세스 사용
subprocess.check_output()을 활용하면 명령을 함께 파이핑하여 복잡한 처리를 허용하는 유용한 도구가 될 수 있습니다. 그러나 보안 문제로 인해 shell=True 인수를 사용하여 파이핑을 용이하게 하는 것은 권장되지 않습니다.
보다 안전하고 안정적인 접근 방식을 위해서는 각 명령에 대해 별도의 프로세스를 생성하고 그 사이에 출력을 파이핑하는 것을 고려하십시오. 예는 다음과 같습니다.
import subprocess # Create a subprocess for the ps command ps = subprocess.Popen(('ps', '-A'), stdout=subprocess.PIPE) # Create a subprocess for the grep command output = subprocess.check_output(('grep', 'process_name'), stdin=ps.stdout) # Wait for the ps process to finish ps.wait() # Process the grep output (if necessary)
또는 str.find를 사용하여 subprocess.check_output(('ps', '-A')) 출력에서 "process_name"을 검색하여 파이핑을 완전히 피할 수 있습니다. :
import subprocess # Run the ps command and capture the output output = subprocess.check_output(('ps', '-A')) # Search for "process_name" in the output if "process_name" in output: # Take appropriate action
이러한 지침을 준수함으로써 보안 및 보안을 유지하면서 하위 프로세스 모듈을 갖춘 파이프를 효과적으로 활용할 수 있습니다. 안정성.
위 내용은 Python의 `subprocess` 모듈과 함께 파이프를 안전하게 사용하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!