首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何与我从脚本登录的新shell进行交互?

如何与我从脚本登录的新shell进行交互?
EN

Stack Overflow用户
提问于 2019-01-07 00:22:19
回答 1查看 46关注 0票数 0

无法向登录的shell发送命令

最初,我编写了一个Python脚本。它能够发送这样的命令

代码语言:javascript
复制
subprocess.run(['kubectl', 'config', 'get-context'], shell=True)

但是,当它到达子shell时,在本例中是bash,该命令直到我退出该shell时才会运行,并且它会显示类似于找不到该命令的内容。

然后,我尝试使用模块"sh“完成此操作,但也没有成功。

我想也许使用Python是有问题的,也意识到我的最终目标是使用不同的shell (cypher- shell ),因此立即跳到使用bash作为父shell。在那里我有一句话,有时成功,有时不成功

代码语言:javascript
复制
kubectl run -it --rm cypher-shell   --image=gcr.io/cloud-marketplace/neo4j-public/causal-cluster-k8s:3.4   --restart=Never   --namespace=default   --command -- ./bin/cypher-shell -u neo4j   -p "password" -a "domain.name"

但是,即使它成功登录,它也会挂起,直到我手动退出,然后它运行下一个命令

注意:我看到了这个,所以,它可能不是一个子shell?Run shell command from child shell

EN

回答 1

Stack Overflow用户

发布于 2019-01-07 01:33:34

我不能说我确切地知道您在做什么,但是如果我正确地理解了您的目标,您希望Python程序在脚本继续运行的同时继续记录日志吗?问题是记录器会继续运行并阻止您的程序。我处理这个问题的方法是将记录器作为后台进程运行。

对于bash,这将是./script.sh &,它将使其运行,而不会阻止程序的其余部分运行。

希望这能给你一个想法!祝好运。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54063502

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档