5

次のような既存のqlogin仕事があります。

job-ID  prior   name       user   state submit/start at     queue        
-------------------------------------------------------------------------
3530770 0.50500 QLOGIN  jlsmith   r     10/15/2012 14:02:07 mri.q@compute-0-29.local

上記のジョブは、Linux の標準の qlogin コマンドを使用して送信されました。

 $ qlogin 

私がやりたいことは、別の qlogin を実行して、プロセスが上記の Job-ID を持つ同じノードで実行されるようにすること3530770です。

アイデアは、コマンドで正しくtop実行された場合、上記のジョブ ID に送信された同じ実行中のプロセスを確認できるということです。

それを行う方法はありますか?

4

2 に答える 2

2

職場の HPC スペシャリストと話し、この件について Google で検索した結果 (ジョブ ID も再開したかった) に基づいて、既にジョブを送信している場合は実際には不可能です。ノードに再び入ることはできqlogin -q <node name>ますが、シェル画面でジョブを再開することはできません。

新しいqlogin ジョブを開始することを考えているが、後で再開できるようにしたい場合は、 を使用screenしてこれを行うことができます。

  1. qloginフロントエンド ノードでコマンド ラインに書き込む前に、 screen. 端末画面を完全にクリアする必要があります。

  2. ここqloginで、インタラクティブにジョブ スクリプトを挿入します。

  3. ジョブの実行が開始され、しばらく離れたい場合は、Cntl を押したままにして A と D を押します。画面が切り離されたことが示され、フロントエンド ノードに戻ります。これqstatで、ジョブが実行されていることがわかるはずです。

  4. ジョブ ID を再開する場合 (ターミナル画面で実行中のプロセスを参照)、フロントエンド ノードにscreen -r. ターミナルで実行中のプロセスを再度確認できるはずです。

注:これを数回行って、誤って複数の画面を蓄積すると(毎回私に起こります)、必要な画面screen -rを自動的に再開する代わりに複数の選択肢が表示されます. それぞれを試すscreen -r <name of screen listed>には、必要なものが見つかるまで一度に 1 つずつ入力します (上記のように切り離します)。余分な画面を取り除くには、次のように記述しscreen -D -r <name>ます。

お役に立てれば。

于 2013-08-01T19:10:22.260 に答える