简体   繁体   中英

How to run matlab on the background?

I'm currently using an external editor of Matlab .m files, with a custom build system that calls Matlab from the command line to run the Matlab script (with the -nosplash and -nodesktop ). However this creates two problems:

1) Matlab closes right after running the script: any windows or plots I call in the script are closed right after running the script, which obviously happens in a matter of seconds.

2) There is a slight delay every time I run the script because Matlab is effectively being started from scratch.

So I was wondering if would be possible to have Matlab running in the background, and just running the scripts whenever I want?

I'm running Linux 64bits, Matlab 2013a, and Sublime Text 3.

EDIT: I've testing the setup with a basic script:

a=5;
figure
plot(a);

EDIT2: I'm calling Matlab through a Sublime Text build system that runs:

matlab -nosplash -nodesktop <[script].m

There is no way to have Matlab running in the background and "just running the scripts whenever you want" without having an interactive session open somewhere.

Suppose that your system has a custom wrapper matlab-wrapper that is used to submit scripts in the background. You would call your script like this:

$ matlab-wrapper myscript.m

Likely, matlab-wrapper is doing something like this:

#!/bin/bash
/apps/matlab14a/bin/matlab -nodesktop -nosplash -r run\ "$1",exit

Or even more, submitting the above script to a scheduler via qsub or some other command.

The key would be modify the wrapper script to find the part where the Matlab binary is actually invoked. If your system allows, you could copy the wrapper script and modify it. (Either by simply removing the -r run\\ "$1" text or something more complicated.) Then, you should be able to launch an interactive version of Matlab per the custom configuration on your system, and call your scripts from the Matlab command window.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM