我使用 nohup 命令在远程机器上运行我的 matlab 程序。由于我必须通过更改一些输入参数来运行相同的程序,我决定尝试使用并行计算工具箱功能。我有以下 matlab 脚本,比如 datafile.m:
% This is a matlab script titled datefile.m
a_array = [0;1;2;3];
jm = findResource('scheduler', 'Configuration', 'local');
job_ss = createJob(jm, 'Name', 'unsteady_slab_porous');
paths = {blah blah}
set(job_ss, 'PathDependencies', paths);
for i=1:length(a_array)
createTask(job_ss, @my_function, 0, {a_array(i)});
end
submit(job_ss)
当我在 matlab 终端上运行 datafile.m 时,它运行良好。但是,如果我尝试使用 nohup 命令执行脚本,则作业失败。这就是我所做的:
nohup matlab -nodesktop <nohup_script.m &> nohup_script.log &
nohup_script.m 只是调用 datafile.m
我想知道是否根本无法将 nohup 与 createTask 和 createJob 命令一起使用,还是我需要调整我的 datafile.m 才能使其工作。