小编mek*_*les的帖子

即使在python退出后,也会在前台生成子进程

假设存在一个python脚本resolve_ip.py,它神奇地返回了我们关心的机器的字符串IP。

我对学习如何实现与以下bash命令等效的python感兴趣:

user@host:~$ ssh $(./resolve_ip.py)
Run Code Online (Sandbox Code Playgroud)

在此bash示例中,在运行python脚本之后,将其替换或替代为它的返回值,该返回值又作为程序ssh的输入提供。结果是,python程序终止,并且用户与ssh初始化进行交互。

问题是,此解决方案需要使用2个脚本(运行ssh的bash脚本,与python脚本结合使用以返回参数),或者人工干预以直接按上面的格式键入bash命令。

题:

有没有一种方法,仅使用python,通过使用子进程或某些类似的模块来启动/分叉交互式服务(如ssh),并使此分叉的子进程在前台仍处于活动状态,即使其父级(python)拥有sys .exit()要?

注意事项:

在这种情况下,此问题的重点不是编写从Python内部向ssh提交ssh凭据的脚本。它是如何生成子进程的子进程,该子进程在其父/子生成器终止后将继续在前台运行。

编辑:以下资源相关:

python ssh bash fork subprocess

1
推荐指数
1
解决办法
1831
查看次数

标签 统计

bash ×1

fork ×1

python ×1

ssh ×1

subprocess ×1