コマンドを使用してrsync
プロセスが実行されているかどうかを調べるコマンドを準備しようとしています.は、私は以下の変数self.getSrcCount
でコマンドをエスケープする方法について知りたい。cliのpgrepのオプションパラメーターをエスケープする方法
for n in range(0, len(self.chkMntPoints)):
self.chkMntPoints[n] = self.chkMntPoints[n].replace('\/','/')
self.getSrcCount = 'ps aux | pgrep'+' '+'rsync'+' '+'-avz'+' '+'--progress'+' '+self.chkMntPoints[n]
print self.getSrcCount
self.srcWord = subprocess.Popen(self.getSrcCount, shell=True, stdout=subprocess.PIPE,)
self.srcWc = self.srcWord.communicate()[0].strip()
print self.srcWc
print len(self.srcWc)
return len(self.srcWc)
Below is my output after the code execution:
pgrep: invalid option -- a
Usage: pgrep [-flvx] [-d DELIM] [-n|-o] [-P PPIDLIST] [-g PGRPLIST] [-s SIDLIST]
[-u EUIDLIST] [-U UIDLIST] [-G GIDLIST] [-t TERMLIST] [PATTERN]
0
pgrep: invalid option -- a
Usage: pgrep [-flvx] [-d DELIM] [-n|-o] [-P PPIDLIST] [-g PGRPLIST] [-s SIDLIST]
[-u EUIDLIST] [-U UIDLIST] [-G GIDLIST] [-t TERMLIST] [PATTERN]
0
:
ドキュメント:これは、すべての実行中のプロセスを反復処理し、名前と起動パラメータを確認するのは簡単ですか!あなたはrsyncとprgepを混在させているようですが、bashからはうまくいかないでしょう –
私はpsコマンドの出力の長さを見つけようとしています。長さが0の場合、移行が完了したと判断します。そうしないと、移行がまだ実行中であるというメッセージが表示されます。 – Kalyan