在远程python进程上运行python代码

时间:2018-06-29 09:39:09

标签: python

我必须在远程python进程上运行python代码。

通常,我会做的是:

  

ssh admin @ localhost -p 61234

这将打开一个交互式python控制台,我可以直接执行python代码。

>>> print('3')
3
>>> 

但是我想使它自动化,并将python代码作为参数传递给ssh。

我尝试了以下选项:

  

ssh admin @ localhost -v -p 61234 python logs.py

     

ssh admin @ localhost -v -p 61234 nohup python logs.py

     

ssh admin @ localhost -p 61234      

cat logs.py | ssh admin @ localhost -p 61234 python-

但是所有选项都会出现以下错误:

  

shell请求在通道0上失败

logs.py

#!/usr/bin/env python
# tried with and without first line.
print('3')

netstat -anp | grep 61234
tcp        0      0 127.0.0.1:61234         0.0.0.0:*               LISTEN      6/python2.7

有没有办法做到这一点?

2 个答案:

答案 0 :(得分:0)

可以肯定这是矫kill过正,但是谁知道呢,也许将来您不仅需要简单的命令。

Paramiko包是您要寻找的。该项目充满了演示的 full ,这些演示以许多不同的方式演示了如何

您会发现最有用的功能是paramiko.client.SSHClient.exec_command

  

在SSH服务器上执行命令。新频道打开,   请求的命令已执行。命令的输入和输出流   以代表stdin,stdout,   和stderr。

Demos Folder
In-depth Testing
Interactive.py是完全交互式的TTY(远程终端控制功能)。

答案 1 :(得分:0)

PyCharm Professional Edition(来自JetBrains的Python IDE)具有用于远程开发的工具,包括SSH远程处理以及运行远程解释器的能力:

enter image description here