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 を呼び出します。
createTask および createJob コマンドで nohup をまったく使用できないのか、それとも動作させるために datafile.m を微調整する必要があるのか 疑問に思っています。