How to run matlab code in the server background?

92 次查看(过去 30 天)
Take the following matlab code for an example. How to run it in the server background? I tried nohup test.m & but failed.
% test.m
A = [
1,2,3;
4,5,6;
7,8,9
];
b = [1;1;1];
x = A*b;
save x;
Any suggestion is appreciated. Thanks!

回答(2 个)

Vaibhav
Vaibhav 2023-10-4
Hi Jingyu Liu,
I understand that you want to run the MATLAB code in the background. One workaround is to utilize MATLAB in command-line mode.
Here are the steps to access MATLAB in this mode:
  • Commence MATLAB in command-line mode by entering the following command in the terminal:
matlab -nodesktop
  • This initiates MATLAB without the graphical user interface (GUI).
  • With MATLAB running in command-line mode, you can execute your MATLAB code by typing commands or running a MATLAB script or function.To run a script, such as "test.m," simply enter the script's name and press enter. It is possible to access multiple "MATLAB command windows" concurrently.
To Execute a MATLAB script with "nohup" feature, first, open a terminal on your Linux machine. second, navigate to the directory where MATLAB script file is located and execute the below command in the terminal:
nohup matlab -nodisplay -nosplash -r "run('test.m'); exit" > output.log 2>&1 &
You can refer to below blog to know more about '-nodesktop' feature:
You can refer to below MATLAB answer to know more about “nohup” feature:
Hope this helps!
Regards,
Vaibhav
  3 个评论
Yigithan Mehmet Kose
编辑:Yigithan Mehmet Kose 2024-1-16
Hello, when I run this, I get the following message:
[1] 69286
What does that mean?
Walter Roberson
Walter Roberson 2024-8-22,4:40
You likely need to provide the path to MATLAB, such as
nohup /Applications/MATLAB_R2024a/bin/matlab -nodisplay -nosplash -r "run('test.m'); exit" > output.log 2>&1 &
The
[1] 69286
indicates that what was started was background job number [1] and that the process ID was 69286

请先登录,再进行评论。


SHAIKH
SHAIKH 2024-8-22,4:00
编辑:Walter Roberson 2024-8-22,4:37
% Define the START and STOP inputs
START = 1; % Set START to 1 for ON, 0 for OFF
STOP = 0; % Set STOP to 1 for ON, 0 for OFF
% Determine the output based on the START and STOP inputs
% Output should be ON when START is ON and STOP is OFF
Output = START && ~STOP;
% Display the result
disp(['START Input: ', num2str(START)]);
disp(['STOP Input: ', num2str(STOP)]);
disp(['Output: ', num2str(Output)]);
  1 个评论
Walter Roberson
Walter Roberson 2024-8-22,4:37
I do not understand how this solves the problem of running MATLAB code in the background ?

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Startup and Shutdown 的更多信息

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by