从命令行/ bash测试是否正在使用Matlab许可证

irr*_*rom 2 bash matlab command-line slurm

我正在运行CentOS 6.9。我想从命令行测试当前是否正在使用Matlab许可证。目前,我能想到的最好方法是

/opt/matlab/R2018b/bin/matlab -nodesktop -nosplash -r "exit;"
export RETURN_VALUE=$?
Run Code Online (Sandbox Code Playgroud)

有更好的方法吗?也许从Matlab本身捕获了实际的许可错误?我不想在这种情况下使用grep方法。

我正在寻找可以使用Matlab可执行文件(或其他Mathwork的可执行文件)来仅测试许可证是否可用的东西。

编辑:Matlab发出不同的许可错误,具体取决于许可证是否不可用以及您是否是未授权用户。能够区分两者很重要,因为我最终希望为Slurm编写一个序言脚本来处理两者之间的差异。允许某些用户使用许可证,而其他用户则不允许。这就是我上面的示例不足的原因。

Sue*_*ver 5

您应该能够利用lmutil随MATLAB一起分发的命令行实用程序,特别是与命令一起使用的命令行实用程序lmstat。该命令行程序的位置取决于您的系统,但通常位于$MATLAB_ROOT/etc/$arch

具体来说,要获取许可证的状态,可以使用以下lmstat选项:

./lmutil lmstat -a -c /path/to/license
Run Code Online (Sandbox Code Playgroud)

这将解析许可证文件并与文件中指定的许可证服务器通信以获取其许可证状态。

如果您查看lmutil./lmutil --help)和lmstat./lmutil lmstat --help)的文档,则会看到许多不同的选项,这些选项可能对您要完成的工作很有用。