SSHと画面を使用してリモートでプログラムをコンパイルして実行する

SSHと画面を使用してリモートでプログラムをコンパイルして実行する

リモートでプログラムをコンパイルして実行しようとしています。しかし、私はこれを画面で実行したいと思い、SSHの後にグリッドエンジンを使用して他のノードでそれを実行したいと思います。現在私は以下を持っています:

ssh me@server screen -R session 'qlogin; cd path; mvn options program'

デフォルトでは機能しますが、端末に接続する必要があるというメッセージが表示されます。この記事を読んで、sshに-tオプションを追加しました。これは私のコマンドを中断します。 SSH経由でログインし、画面が起動し、「mvn」コマンドについて知らず、私のセッションが終了するようです。

これが起こる理由と、Grid Engineを使用するときにリモートノードの画面内のローカルコンピュータでタスクを正しく起動する方法を知りたいです。

ベストアンサー1

-L画面ログをオンにするオプションを画面に追加します(デフォルトはfilenameですscreenlog.0)。そうすれば、何が起こっているのかを見ることができます。画面上ですべてを実行する1つのプログラム(他のコマンドセットではなく)として表示できるようにしたいと思います。qlogin; cd path; mvn options programプログラムを実行して終了する方法はありません。

別のオプションは、実行中のコマンドをスクリプトに入れることです。

#!/bin/sh
qlogin
cd path
mvn options program

screenrcファイルを作成します(mysessionrcと仮定)。

# myscreenrc

#Create window 0 with title 'mvn' and run /path/to/myscript.sh
screen -t mvn 0 /path/to/myscript.sh

次に、代わりに「」を実行してくださいssh -t me@server 'screen -R session -c mysessionrc。 FreeBSD + ssh + screenの組み合わせで画面が機能するようにするには、これを行う必要がありました。

それでも失敗した場合は、以下を追加します。

zombie kr
verbose on

kmysessionrcファイルの先頭にシャットダウンまたは再起動を完了した後、実行コマンドで何をすべきかを画面に尋ねるメッセージが表示され、r詳細は画面で実行されている操作に関するいくつかの情報を出力します。

おすすめ記事