4

私は次のようなことをしようとしています。現在、ssh 経由でリモート マシンに接続し、nohup コマンドを使用して分析を実行しています。

nohup matlab -nodesktop -nodisplay < mycode.m > output.txt 2>&1 &

今、バックグラウンドでいくつかの nohup コマンドを次々と実行するスクリプトを書きたいと思います。なんとかできました

#!/bin/bash
matlab -nodesktop -nodisplay -r "mycode;quit;" > output.txt

しかし、コードは 1 つの CPU だけで動作するだけでなく、無限ループに陥り、決してジョブを終了しません。

私はそれを解決できますか?script.sh を起動した後、ターミナルを閉じることができることが重要です。

編集:あなたのおかげで、私はなんとかして、次のことをうまく機能させました

ssh user@ipaddress
screen
cd folder1/
nohup matlab -nodesktop -nodisplay < mycode.m > output.txt 2>&1 &
exit
screen
cd folder2/
nohup matlab -nodesktop -nodisplay < mycode.m > output.txt 2>&1 &
exit

今、そのスクリプトを実行することは可能ですか? screen入力するたびに、すぐに Enter キーを押さなければならないことに気付いたからです。

EDIT2:@Peter私はあなたが提案したことをしました

#!/bin/bash
cd folder1/
matlab -nodesktop -nodisplay -r "mycode;quit;" < /dev/null  > output.txt
cd folder2/
matlab -nodesktop -nodisplay -r "mycode;quit;" < /dev/null  > output.txt

しかし、最初の matlab のみが実行されます。

4

2 に答える 2