繁体   English   中英

找出在linux中运行的MATLAB脚本

[英]Find which MATLAB script is running in linux

我有一个非常简单的问题。

我创建了多个运行3或4个MATLAB脚本的预定bash文件。 就像是:

cat /pathtobash/bash_script.sh
#!/bin/bash

~/path/run_mat_script.sh ~/path2/matlab matlab_script 
~/path/run_mat_script.sh ~/path3/matlab matlab_script2
~/path/run_mat_script.sh ~/path2/matlab matlab_script3

一个(或多个)bash脚本中的一个MATLAB脚本没有运行,只是“挂起”

我怎样才能找出哪一个失败了?

我已经尝试过“top”和“ps”命令,只是告诉我MATLAB命令正在运行。

例如:

ps ax | grep MATLAB
  498 ?        Sl    45:00 /opt/matlab/bin/glnxa64/MATLAB -nodisplay -nosplash
 2059 ?        Sl    32:35 /opt/matlab/bin/glnxa64/MATLAB -nodisplay -nosplash
 4098 ?        Sl    14:33 /opt/matlab/bin/glnxa64/MATLAB -nodisplay -nosplash
 5690 pts/9    S+     0:00 grep MATLAB
29409 ?        Sl    70:20 /opt/matlab/bin/glnxa64/MATLAB -nodisplay -nosplash
29797 ?        Sl    69:10 /opt/matlab/bin/glnxa64/MATLAB -nodisplay -nosplash
32233 ?        Sl    50:00 /opt/matlab/bin/glnxa64/MATLAB -nodisplay -nosplash

感谢您的帮助

我会尝试在每次调用bash后打印最后一个PID,然后您可以将每个正在运行的脚本与唯一的标识号相匹配。

请查看此示例: https//stackoverflow.com/a/18123333/6404262

我会做这样的事情。

./proc1 &
proc_1=$!
./proc2 &
proc_2=$!

#Wait for processes to finish        
if `echo wait $proc_1 $proc_2`; then
    echo success
else
    echo "A proc failed, either: $proc_1 $proc_2"
fi

#Check exit status

echo $?

当然,您可以在创建时使用echo "Pid:$proc_2"打印您的pids。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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