私は次のようなことをしようとしています。現在、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 のみが実行されます。