adherent 发表于 2007-6-6 22:20

matlab的远程启动

想在远程启动在学校server上的matlab,我ssh过去,在terminal下面启动了matlab,但问题是如果关掉本机上的terminal,在server上的matlab进程也会自动关掉$郁闷$

我又不能整夜整夜的就为了那个terminal开着电脑。。。。。。

我估计肯定有方法让matlab继续运行,即便关掉了本机上的terminal。

哪个大侠知道,话与我听啊,3q3q

adherent 发表于 2007-6-7 19:46

木有人晓得嘛?

eisenstange 发表于 2007-6-7 20:03

在Unix下使用Nohup命令启动进程就可以了。至于Nohup的使用方法,Google去吧

recbio 发表于 2007-6-7 23:08

无论是linux unix,用 nohup sh 'full command line' 都可以启动程序并让程序在后台运行,独立于终端。

由于nohup启动的时候不会有图形界面,如果是matlab,建议不要用图形界面选项,执行什么命令预先写在m文件里面,如:

nohup sh 'matlab -nodesktop < /data/user/myCommand.m'

这里的<是输入换向,因为nohup会忽略终端的输入。

要注意,如果是ssh上去的,千万不要直接关窗口,而一定要用exit命令和主机解除关系。

用不用"&"在linux里面不重要。在linux里面,还有更加简便的方法。并且还有图形界面

1)可以用screen命令,一般的2.6.12以上的内核都支持。
screen matlab &
这个时候,可以继续用matlab,退出终端用exit就可以了。
如果没有 &。可以到终端,按ctrl-a 挂起,用命令bg将matlab转到后台,注意,这个时候不要忘记最重要的一步,千万人按一键或多按一个回车,然后用exit。要不然,一旦你结束sreen,matlab也就结束了。

2)基于2.6.18以上内核
起先自己一直这么用的,所以也就没有上心。以为linux原本就可以独立终端运行。刚才有看了一下,发现是2.6.16以后的新功能,就是2.6.18以后更加完善了。就是VM机制。当然,需要多核计算机支持。
一个终端在缺省时将试图用VM运行你的程序。ssh name@server以后,可以直接在linux主机上打开matlab,然后可以看到图形界面,你可以完成你要得工作,需要等待的时候。在终端,按ctrl-z回到终端命令行,用bg命令置于后台。然后,用exit退出终端。这个时候,你会发现matlab还在你的电脑上运行。不过这个只是图形界面。并且没有实质性的作用。就是x winserver在你的电脑上的一个 VM界面而已。

另外一点,你的tty输出将存在主机的你的目录下。matlab的屏幕输出就看不见了。所以,务必将结果用标准输出,写入文件。

3)matlab server. 这个针对性比较强,你的电脑需要安装matlabserver支持相关的工具箱,然后可以让server上的其他电脑替你完成你的运算。server的特殊命令集在工具箱里都有定义,一般的运算和你在本地没有区别。关于server的问题,如果感兴趣很高兴再讨论。

[ 本帖最后由 recbio 于 2007-6-8 00:24 编辑 ]

adherent 发表于 2007-6-8 14:37

多谢楼上两位,我这就去试试$送花$
页: [1]
查看完整版本: matlab的远程启动