使用SSH从Android智能设备执行Python程序

时间:2016-05-30 16:21:36

标签: python matplotlib ssh raspberry-pi jsch

我正在尝试通过SSH从Android手机远程执行Python程序(在我的Raspberry Pi上运行)。 在Android端我使用的是JSch库,基本上是这里解释的代码: http://droid-lernen.de/raspberry-pi-mit-dem-smartphone-steuern-teil-1/

在Raspberry方面,我试图在python中运行一个简单的程序,用一些图创建一个PDF(使用matplotlib库)。

我已设法建立连接,但通过Android应用程序启动程序无法正常工作。程序启动,但无法完成。如果我在Raspberry上手动启动程序(“sudo python myprogram.py”),它就可以正常工作。

我想有一些特权问题,但我的研究没有给出任何结果。 有什么建议吗?

2 个答案:

答案 0 :(得分:0)

当您通过SSH连接到Linux机箱时,它会为SSH创建一个新进程。从终端运行的所有进程都作为您建立的SSH进程的子进程运行。如果SSH进程终止,操作系统将向SSH进程的所有子进程发送一个挂断信号,这将导致这些进程立即退出。

从SSH进程执行脚本时使用nohup。这将导致子进程忽略挂断信号并继续运行

nohup python my_script.py

答案 1 :(得分:0)

我想这是因为您发送了一个sudo命令,并且您的Raspberry Pi正在等待密码。

尝试使用如下命令:echo <password> | sudo -S python myprogram.py

您也可以询问本文作者。也许他可以给你一个更专注的答案。