私は新しいparamikoユーザーですが、paramikoを使用してリモートサーバーでコマンドを実行するのが難しいです。私は、パスをエクスポートし、また、tophat
というプログラムをバックグラウンドで実行したいと思います。私はparamiko.sshclient()
で正常にログインできますが、exec_command
に私のコードは結果がありません。基本paramiko exec_command help
stdin, stdout, sterr = ssh.exec_command('export PATH=$PATH:/proj/genome/programs
/tophat-1.3.0/bin:/proj/genome/programs/cufflinks-1.0.3/bin:/proj/genome/programs/
bowtie-0.12.7:/proj/genome/programs/samtools-0.1.16')
stdin, stdout, sterr = ssh.exec_command('nohup tophat -o /output/path/directory -I
10000 -p 8 --microexon-search -r 50 /proj/genome/programs/bowtie-0.12.7/indexes
/ce9 /input/path/1 /input/path/2 &')
にはnohup.out
ファイルが存在しないとPythonは単にエラーメッセージなしで次の行になります。私はnohup
なしで試してみたところ、結果は同じです。私はthis paramiko tutorialに従おうとしていました。
私はexec_command
を間違って使用していますか?
2番目のコマンドは最初のコマンドとは異なるシェルで実行されるため、 'export'コマンドは効果がありません。 –
環境変数を1行に入れるだけでよいでしょう。つまり、 'ssh.exec_command( 'PATH =/bin:/ usr/bin:etcetera nohup ...')';これは、単一のコマンドだけのためにそれをエクスポートします。これはまさにあなたが望むものです。 –