2016-05-30 4 views
3

SSH経由でAndroid PhoneからリモートでPythonプログラム(私のRaspberry Piで実行中)を実行しようとしています。アンドロイド-側の 私はJSCHライブラリを使用していますが、基本的にコードはここで説明:私は、Pythonで簡単なプログラムを実行しようとしているいくつかのプロットでPDFを作成する(matplotlibのライブラリを使用していラズベリー側で http://droid-lernen.de/raspberry-pi-mit-dem-smartphone-steuern-teil-1/SSHを使用してAndroidスマートデバイスからPythonプログラムを実行

を)。

私は接続を確立できましたが、Android App経由でプログラムを起動すると正しく動作しません。プログラムは起動しますが、終了できません。私がRaspberry( "sudo python myprogram.py")でプログラムを手動で起動すると、うまく動作します。

権限の問題がいくつかあると思いますが、私の研究では何の結果も得られませんでした。 提案がありますか?

+0

終了できないということを意味しますか?それは永遠に実行される、またはそれが仮定されていた仕事を完了せずに終了しますか? – saq7

+0

ジョブを完了せずに終了します。同じ名前のファイルが存在しない場合、または古いファイルを上書きできない場合は、破損したPDFが作成されます。 – user5868483

+0

スクリプトが終了する前にssh接続を終了しますか? – saq7

答えて

0

LinuxボックスにSSHをインストールすると、SSH用の新しいプロセスが作成されます。端末から実行するすべてのプロセスは、確立したSSHプロセスの子プロセスとして実行されます。 SSHプロセスが終了すると、OSはSSHプロセスのすべての子プロセスにハングアップ信号を送信し、そのプロセスが直ちに終了します。

nohupを使用すると、SSHプロセスからスクリプトを実行できます。これはsudoコマンドを送信し、あなたのラズベリーパイがパスワードを期待しているので、子プロセスがハングアップ信号を無視し、私はそれが起こると思い

nohup python my_script.py

+0

ありがとうございました。それは論理的に聞こえるし、私は "nohup"コマンドを使用しようとしましたが、それは動作しませんでした。問題をローカライズしましたが、空のPDFファイルを作成するとsudoコマンドで動作しますが、いくつかのプロットを置くとプログラムが中断され、破損したPDFファイルが作成されます。本当に混乱しています。 – user5868483

0

実行を継続するようになります。

echo <password> | sudo -S python myprogram.pyのようなコマンドを使用してください。

また、この記事の著者にお尋ねすることもできます。たぶん彼はあなたにもっと専用の答えを与えることができます。

関連する問題