파이썬에서 체인으로 묶인 리눅스 명령을 실행하는 방법


2

다음은 그대로 실행하려는 쉘 명령의 예입니다. 파이썬 에서이 작업을 수행하는 모든 방법 (즉, 루비의 % x {command} 구문과 유사합니다.

kill -9 $(ps -ef | grep java | grep TaskTracker | awk '{print $2}')

여기서 트릭은 파이프 파이프가 있다는 것입니다. 예를 들어 popen과 같이 AFAICT가 잘 작동하지 않습니다.

답변:


10

이 명령에는 명령 대체 및 파이프를 포함한 쉘 기능이 필요하므로 호출에 사용해야 shell=True합니다 subprocess.call(). 쉘에서 실행하는 한 제대로 작동합니다. 그래서:

from subprocess import call

call("kill -9 $(ps -ef | grep java | grep TaskTracker | awk '{print $2}')",
      shell=True)

1

시험:

import os
os.system(yourcommandshere)

이식성을 염두에두고 사용중인 OS를 정확하게 식별해야합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.