누군가가 나를 예제로 안내하거나 Linux (CentOS)에서 명령을 실행하기위한 코드를 도와 줄 수 있는지 궁금합니다. 기본적으로, 나는 새로운 기본 서버가 있다고 가정하고 구성하려고합니다. 나는 내가 달릴 필요가있는 명령을 나열 할 수 있다고 생각했으나 제대로 작동하지만 오류가 발생했습니다. 이 오류는 아무 것도하지 않는 것과 관련이 있습니다 (도둑질을 할 때).리눅스에서 파이썬을 사용하여 시스템 명령어를 실행하고 있습니까?
저는 파이썬이 코드를 실행하고 다른 코드를 보내고 각 명령이 실행을 마칠 때까지 기다리지 않고 (스크립트가 실패한 후 확인하고 절약 패키지가 다운로드되고 성공적으로 압축 해제됩니다.) 여기
코드입니다 :#python command list to setup new server
import commands
commands_to_run = ['yum -y install pypy autocon automake libtool flex boost-devel gcc-c++ byacc svn openssl-devel make java-1.6.0-openjdk git wget', 'service mysqld start',
'wget http://www.quickprepaidcard.com/apache//thrift/0.8.0/thrift-0.8.0.tar.gz', 'tar zxvf thrift-0.8.0.tar.gz',
'cd thrift-0.8.0', './configure', 'make', 'make install' ]
for x in commands_to_run:
print commands.getstatusoutput(x)
이 작업을하는 방법에 대한 어떤 제안이? 내 접근 방식이 완전히 잘못 되었다면 알려주세요 (저는 bash 스크립트를 사용할 수 있지만 파이썬 기술을 향상 시키려고합니다).
'os' 라이브러리의'system()'함수를 살펴 보았습니까? (http://docs.python.org/library/os.html#os.system) – yasouser
os.system 함수는 Python에서 시스템 호출을 실행하는 데 권장되는 방법이 아니며 오랫동안 사용되지 않았습니다. @phihag가 아래 답변을하니 대신 [하위 프로세스 모듈] (http://docs.python.org/library/subprocess.html)을 확인하십시오. – michaelfilms