本文主要分为两部分,分别为matlab命令行启动和Linux服务器后台运行,后者可用于各种后台运行程序,如matlab、python等。
由于疫情而远程办公的缘故,笔者最近经常用到Linux服务器。利用SSH协议可很方便地通过自己的笔记本远程访问服务器,从而进行操作。有很多商业软件可满足从个人电脑的windows平台访问远程Linux服务器,笔者正在使用的是MobaXterm。这款软件集成有SSH 会话功能和X11 server,可以很方便地加载图形界面,如下图所示。

笔者使用服务器时,首先在本地电脑打开MobaXterm的一个SSH会话,连接到服务器后,就是一个终端界面。笔者常用服务器上安装的matlab进行数值计算,在终端输入matlab后,即出现matlab的窗口界面,与windows的完全一样,可正常使用。
然而这样使用matlab需要始终保持SSH会话,也即本地电脑需要一直连接服务器,不能关机也不能断网。如果因某种原因SSH连接失败,则服务器正在运行的程序也会中断,辛苦跑了许久的仿真就白费了;此外,程序运行过程中会一直占据终端,从而导致无法做别的事。
解决这一问题,可以从两个方面考虑:第一,尝试使用命令行方式运行matlab,而不打开图形化界面;第二,尝试让matlab的运行脱离SSH连接产生的终端而独立出来,当关闭与服务器的SSH连接后,服务器端仍然保持matlab的运行。
-
1. matlab命令行方式运行
-
1.1. 命令行运行方法
文献1中详细介绍了命令行运行matlab的方法,这里引用其关键内容,并添加笔者的经验。在命令行下执行如下语句可获得matlab的帮助文档
$ matlab -help
需要注意的命令有
[-display Xdisplay | -nodisplay]
[--noFigureWindows]
[-nosplash]
[-desktop | -nodesktop | -nojvm]
[-batch MATLAB_command | -r MATLAB_command]
[-logfile log]
| -display Xdisplay | - |

本文详述如何在Linux服务器后台运行Matlab,包括命令行启动和利用nohup、setsid、disown、screen等方法实现进程后台运行,确保即使SSH连接断开,程序也能继续执行。
最低0.47元/天 解锁文章
3068

被折叠的 条评论
为什么被折叠?



