(私はLinuxの新しいユーザーです)。私はnohupを使用して、次の形式で複数のmatlabスクリプトを並列に実行しています。
(cd Documents/dir_001; nohup matlab -nodisplay -nosplash -nodesktop -r "run('/home/user/Documents/dir_001/myScript.m')") &
(cd Documents/dir_002; nohup matlab -nodisplay -nosplash -nodesktop -r "run('/home/user/Documents/dir_002/myScript.m')") &
(cd Documents/dir_003; nohup matlab -nodisplay -nosplash -nodesktop -r "run('/home/user/Documents/dir_003/myScript.m')") &
私は(top -uを使用して)私のスクリプトがルーチンを完了すると(ディレクトリを見ると、ルーチンが完了したことがわかります。ディレクトリが空の場合はスクリプトが完了しました)わかりました。徐々に。 PIDが増え続けるのを防ぐために、PIDを終了する必要があります。
私の質問:
- スクリプトがルーチンを完了した後にメモリ使用量がゼロでない場合、なぜすぐに最小値に達しないのですか?
- 記憶力はなぜ増えるのですか?スクリプトを実行すると1%のメモリが消費され、実行が終わると1.3%、1.5%、1.9%、2%などに増え続けます。
どうすれば解決できますか?スクリプトが完了したら、PIDを自動的に終了したいと思います。
ベストアンサー1
exit
実行したいMatlabコマンドの後にコマンドを追加する必要があります。
(cd Documents/dir_001; nohup matlab -nodisplay -nosplash -nodesktop -r "run('/home/user/Documents/dir_001/myScript.m'); exit;") &
バラよりコマンドラインからMATLABスクリプトを呼び出すには?もっと学ぶ。