MATLAB Answers


Problem running matlab script to background

Asked by Aristotelis on 12 Mar 2013
Latest activity Commented on by Alessandro on 11 Oct 2013
Hello, I made a script to create some map plots using functions like contourfm and quiverm. I run this script on a server and putting it to background like this:
matlab -nosplash -nodisplay -nodesktop < (name.of.script.m) > output.log &
Then I can successfuly logout the machine and the job continues until an error occurs stating: "Segmentation fault (core dumped)" leading to no results.
If I try without -nodisplay switch, no Segmentation fault appears, results are generated but I cann't logout without killing the job at the same time...
Any ideas would be helpful! Thank you in advance!

  1 Comment

Dear Aristotelis, look at this guide, I had the same issue and now everything works fine ;)
I hope it will be helpful :)

Sign in to comment.

2 Answers

Answer by Konrad Malkowski on 12 Mar 2013
 Accepted Answer

What type of image are you trying to save?
Saving to jpg, png, tiff or eps/ps is usually safer than other file formats when no desktop is present.
You could try using a different rendering method. I would recommend painters or zbuffer.
As for the second part of the question. What happens when you add "exit" as the last command in the script?

  1 Comment

Thank you for your answer! Using -painters option solves the problem as zbuffer doesn't run in terminal mode. I already have included exit as last command. Unfortunately didn't make any difference as the code stopped before reaching the end.

Sign in to comment.

Answer by Walter Roberson
on 12 Mar 2013

Are you using OS-X or Linux? If so,

nohup matlab -nosplash -nodisplay -nodesktop -r 'try; ScriptName; catch; end; quit' > output.log &

where ScriptName does not have the .m

  1 Comment

Thanks! You really saved me a lot of trouble! Works just fine.

Sign in to comment.