如何在远程服务器上运行matlab程序

如何在远程服务器上运行matlab程序,第1张

方法如下:

1、只需要在linux的命令行下执行:matlab

2、-nodesktop

-nosplash

-r

“你的程序的名字”

(前提是matlab所在的目录在你的PATH变量包含的目录中)

Useful webpage:

http://blog.csdn.net/frank2336/article/details/7634929

如果使用-nodisplay -r 选项运行,当程序中有figure()命令时会出错怎么办:

http://asc.2dark.org/node/111

后台运行matlab:

http://www.zdh1909.com/html/matlab/8628.html 进阶贴

http://blog.chinaunix.net/uid-21389973-id-3231154.html 原理贴

http://www.52souji.net/how-to-run-matlab-in-background/ 基础贴

http://hi.baidu.com/299792458/item/46003975ad5096295c1789d5 通俗贴

Matlab on Linux:

1、不开启图形界面

matlab -nodesktop –nosplash

或者matlab –nodisplay

或者matlab -nojvm –nosplash

2、 matlab程序也可以在命令行里直接运行,只需要使用 -r 选项。比如运行当前目录下的example.m

matlab -nodesktop -nosplash -r example

或者matlab -nojvm -nosplash -r example

或者matlab -nodisplay -r example

3、可以将如下命令加到~/.bashrc文件

alias mrun='matlab -nodesktop -nosplash -r'

这样下次(或者执行source ~/.bashrc)之后就可以直接

mrun example

来在命令行运行matlab文件。

4、 如果使用 -nodisplay -r 选项运行,当程序中有figure()命令时会出错,可以使用如下选项抑制图形的显示:

figure('visible','off')

并使用如下命令将图形输出到文件:

print('-deps','example.eps')

或者

hgsave('example.fig')

5、图形方式:不会http://blog.csdn.net/frank2336/article/details/7634929

后台运行Matlab:

1、实现功能:

1.字符环境下运行matlab.

2.字符环境下运行matlab脚本文件,脚本文件无图像的屏幕输出。

3.脚本文件需长时间运行,运行结果输出到文件。matlab的标准重定向到另一个文件。

4.客户端退出登陆后,matlab保持运行 ,直到脚本程序结束或错误退出时,matlab程序才退出。

2、 实现方法:采用nohup命令。

3、使用命令:

nohup /usr/matlab/bin/matlab fill.out &

就可以了,fill.m表示你的文件名. fill.out代表你的输出转到fill.out文件中。比如,matlab中的命令sin(1:10),结果应该输出到command window中的,但是现在转到了fill.out文件中

例如:我在/home/jsh/yangting/文件夹下有个test2.m文件

那么,当matlab在/home/jsh/yangting/文件夹下打开时,

命令为

nohup matlab fill.out &

注意:在nohup运行成功后,不能直接点击关闭按钮,而应该按下任意键,恢复到入状态,然后按exit命令退出。

使用命令:

nohup matlab -nojvm -nodisplay -nosplash -nodesktop <matlabscript.m 1>running.log 2>running.err &

nohup matlab -nojvm -nodisplay -nosplash <matlabscript.m 1>running.log 2>running.err &

或:

nohup matlab -nojvm -nodisplay <matlabscript.m 1>running.log 2>running.err &

其中:

matlabscript.m是将要运行的脚本文件,存在于服务器上;

running.log是matlab标准屏幕输出的重定向文件,将建立于服务器上;

running.err是matlab运行时的错误重定向文件,将建立于服务器上。

4、另外补充:

(1)如果你想中断正在运行的matlab请使用

kill -9 进程号

或 fg %n Ctrl+C

(2)如果你想在字符环境的matlab中运行脚本,请使用

run 脚本文件名(不含.m扩展名)

(3)如果你想用ssh运行有X界面的matlab,登陆时请使用

ssh 主机名 -l 用户名 -X

=========================================================

参考自:

http://www.cnblogs.com/wangbin/archive/2009/05/07/1451502.html

http://www.cnblogs.com/snowleung/archive/2011/06/27/2091526.html

让程序在前台后台之间切换。 Linux 提供了 fg 和 bg 命令,让你轻松调度正在运行的任务。

假设你发现前台运行的一个程序需要很长的时间,但是需要干其他的事情,你就可以用 Ctrl-Z ,挂起这个程序,然后可以看到系统提示:

[1]+ Stopped /root/bin/rsync.sh

然后我们可以把程序调度到后台执行:(bg 后面的数字为作业号)

#bg 1

[1]+ /root/bin/rsync.sh &

用 jobs 命令查看正在运行的任务:

#jobs

[1]+ Running /root/bin/rsync.sh &

如果想把它调回到前台运行,可以用

#fg 1

/root/bin/rsync.sh

这样,你在控制台上就只能等待这个任务完成了。

[Ctrl-z]是当前任务转到后台中断。

fg 1可以把1的任务转回来当前终端。

bg 1

可以把1的任务转回到后台终端。

jobs -l 可以查看当前进行的任务。

当一个任务bg时,当前的treminal关闭就会关闭,可以用

nohup来标识可以继续运行(nohup->no hang up不挂断)

命令是

nohup command &

通过ps -aux命令 会发现command的父进程变成了1,在关闭窗口之后

Linux远程服务器连接不上,或连接超时解决办法:

1、测试网络是否通:

ping 远程IP

2、如果能ping通则表示与服务器网络连接是正常,接下来测试端口:

telnet 远程ip 端口

3、如果telnet不上,要考虑服务器是否有防火墙拦截:

CentOS7查看防火墙是否运行:

firewall-cmd --state

CentOS6查看防火墙是否运行

/sbin/service iptables status

4、如果防火墙被拦截,需要放行端口。如果防火墙没有拦截,则要考虑服务内部是否配置限定IP访问。

MySQL、MongoDB、Redis都有bind选项,用来限定客户端IP


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/478366.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-06-08
下一篇2023-06-08

发表评论

登录后才能评论

评论列表(0条)

    保存