Why is the MATLAB startup option '-r' not working properly on C UNIX Shell?
4 ビュー (過去 30 日間)
古いコメントを表示
MathWorks Support Team
2013 年 4 月 23 日
編集済み: MathWorks Support Team
2023 年 9 月 8 日
When I run either of the following commands in my C UNIX Shell:
matlab -nojvm -nodisplay -r "ver; quit;" > out.txt &
nohup matlab -nodisplay -nodesktop -nojvm -nosplash -r "ver;quit" > out.txt &
and issue the command
jobs
I receive the following output which indicates that MATLAB process is suspended:
Suspended (tty output) matlab -nojvm -nodisplay -r ver; quit; >& out.txt
採用された回答
MathWorks Support Team
2023 年 9 月 8 日
編集済み: MathWorks Support Team
2023 年 9 月 8 日
NOTE: Starting in R2019b, the '-r' option is no longer recommended for non-interactive use. Use the '-batch' option in non-interactive scripting or command line workflows. Do not use this option with the -r option.
This is the expected behavior because when MATLAB has been started without the desktop, it expects to be able to read from standard input ('stdin'), however, when you start it in the background, it cannot read from 'stdin' and the process will be stopped.
As a workaround, you can create a text file which includes the commands you want to execute and use input redirection operator "<" instead of "-r" option. For example, assuming the file "foo.txt" includes the lines
ver;
exit;
you can execute the command
matlab -nodisplay -nodesktop -nojvm -nosplash <foo.txt >out.txt &
As another workaround, you can write a shell script which automates the process.
0 件のコメント
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Startup and Shutdown についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!