由于执行新的应用程序,Python 操作系统命令无法正常工作

标签 python regex linux bash oracle-golden-gate

我需要检查 GoldenGate 进程的延迟。为此,我执行 Goldengate 而不是尝试运行 GoldenGate 自己的命令“info all”。

import subprocess as sub
import re
import os

location = str(sub.check_output(['ps -ef | grep mgr'], shell = True)).split()
pattern = re.compile(r'mgr\.prm$')
print(type(location))
for index in location:
        if pattern.search(index)!=None:
                gg_location = index[:-14] + "ggsci"

exec_ggate = sub.call(str(gg_location))
os.system('info all')

然而,当我执行 GoldenGate 时,它​​会打开一个新的 GoldenGate 自己的 shell。所以,我认为正因为如此,Python 无法运行“info all”命令。我怎么解决这个问题?如果缺少信息,请通知我。

提前谢谢你,

最佳答案

对于 Golden Gate 上的命令自动化,您在 Oracle 文档中有以下信息:https://docs.oracle.com/goldengate/1212/gg-winux/GWUAD/wu_gettingstarted.htm#GWUAD1096

输入脚本 从操作系统的命令行使用以下语法。

ggsci < input_file

地点: 尖括号 (<) 字符将文件通过管道传送到 GGSCI 程序中。 input_file 是一个文本文件,称为 OBEY 文件,包含您要发出的命令,按照它们要发出的顺序。

使用您的脚本(请记住,我不知道如何编写 python 代码)您可以通过以下方式在 python 中简单地执行 shell 命令:

import os
os.system("command")

所以尝试这样做:

import os
os.system("ggsci < input_file")

按照文档的指示更改 input_file。 我认为您这样做会更轻松。

关于由于执行新的应用程序,Python 操作系统命令无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53540244/

相关文章:

python - 从 python 脚本将数据插入 MySQL 数据库时 INSERT QUERY 出错

c# - C# 中字符串的正则表达式

regex - 在 bash 中匹配正则表达式

javascript - 如何匹配特定的正则表达式?

linux - 由于 ALTER SYSTEM 设置错误而无法启动 postgres

linux - 你如何在 git 命令 ex 上放置一个包装器。混帐克隆

python - 最新版本的 firefox 不适用于 selenium

python - scipy 1.0.0 中的 imsave 在哪里?

将 llvm .bc 文件转换为人类可读的 .ll 文件

python - 我怎样才能让我的discord.py 机器人将多个参数识别为一个?