我的linux命令是“ ps -C opmn | awk'NR> 4 {print $ 4}'”

时间:2019-05-09 20:53:56

标签: awk subprocess ps

import subprocess

opmn = "ps -C opmn | awk 'NR >4 {print $4}'"
subprocess.call(opmn, shell=True)

Nmanager = "jps | grep Node | awk '{print $2}'"
subprocess.call(Nmanager, shell=True)

AMservers = "ps -ef | grep java | awk '{print $13}' | grep 'Dweblogic.Name' | sed 's/^.\{16\}//g' | sort -n"
subprocess.call(AMservers, shell=True)

我正在获取输出,但是,我需要将输出存储在list或dict这样的数据结构中,并进一步检查每个输出的条件是否为真。

我需要将其转换为python程序并将其保存在一个变量中并检查条件。

输出应该这样存储

dict = {'opmn_stat' : 'opmn', 'Nmanager_stat' : 'Nmanager', 'Aserver_stat':'Aserver'}

1 个答案:

答案 0 :(得分:0)

您可以尝试subprocess.check_output将输出输出到Python中的变量中。

例如

import subprocess
ps_cmd = "ps"
ps_output = subprocess.check_output(ps_cmd, shell=True)
print(ps_output)

这会将ps命令的输出作为字符串提取到ps_outout变量中。您可以根据需要进一步处理。