サービスがインストールされている場合、Pythonスクリプトで確認する方法を探しています。例えば、私はインストール/実行中/ダウンコマンドラインで、私が使用してSSHサーバよりも、チェックしたい場合:サービスがインストールされているかどうかを確認する方法
sshd.service
Loaded: not-found (Reason: No such file or directory)
Active: inactive (dead)
:サービスがインストールされていない場合
service sshd status
、私はこのようなメッセージを持っています
私はこの3行を取得するためにサブプロセスcheck_outputを使用しましたが、pythonスクリプトは機能しません。私は出力を得るためにシェル=真のを使用しましたが、それは動作しません。サービスがインストールされているか、別の方法が既存ではるかに効率的かどうかを見つけるのは適切なソリューションですか?
私のPythonスクリプトがあります:
import subprocess
from shlex import split
output = subprocess.check_output(split("service sshd status"), shell=True)
if "Loaded: not-found" in output:
print "SSH server not installed"
このコードのproblemeはsubprocess.CalledProcessErrorです:コマンドがゼロ以外の終了ステータス1を返し、私は、コマンドラインにはない何かを返したときにそれは知っています存在しますが、シェルにコマンドを書くときに結果が必要です
プログラムは私に次のように言っていました:コマンド '[' service '、' shd '、' status ']'はゼロ以外の終了ステータスを返す3.シェルコマンドと同じ行ではなく、インストールされているかどうかは –
'shd'または' sshd'ですか? –
間違い、申し訳ありませんが、コード内にsshdがあります –