使用nohup命令在linux后台运行代码(matlab和python)

后台运行matlab脚本文件的方法:nohup

实现功能:
1.字符环境下运行matlab.
2.字符环境下运行matlab脚本文件, 脚本文件无图像的屏幕输出。
3.脚本文件需长时间运行,运行结果输出到文件。matlab的标准重定向到另一个文件。
4.客户端退出登陆后,matlab保持运行 ,直到脚本程序结束或错误退出时,matlab程序才退出。

实现方法: 采用nohup命令。

1、首先在Xshell里转到你要跑的代码的目录下
方法:cd ‘目录’
2、使用命令:
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 &
(注意使用matlab自带的并行计算工具包时,需要java,即不能使用-nojvm命令)

其中matlabscript是你要跑的文件名
running.log是matlab标准屏幕输出的重定向文件,将建立于服务器上;
running.err是matlab运行时的错误重定向文件,将建立于服务器上。

数字0,1,2的含义:
0——stdin(standard input,标准输入),1——stdout(standard output,标准输出),2——stderr(standard error,标准错误

1>running.log 的意思是把标准输出(即本来应该在matlab的命令行窗口输出的东西)改输出到running.log中,其文件名(running)可以更改
2>running.err 的意思是把标准错误(同理)改输出到running.err中,文件名可更改
.log文件是日志文件,.err文件是错误文件,都可以在文本文档打开,这两个文件将会被存到当前的目录下

3、Xshell里输出的结果:
在这里插入图片描述

显示出来的18369是进程号,这样可以使用top命令看到自己要跑的代码在运行,并且进程号和这里显示的一致,表示程序提交后台成功。

4、在nohup运行成功后,不能直接点击关闭按钮,而应该按下任意键,恢复到输入状态,然后按exit命令退出。
在这里插入图片描述

这样退出后在top中看到代码还在运行,如果点击叉号退出程序还是会中断。

5、
另外补充:
(1)如果你想中断正在运行的matlab请使用
kill -9 进程号
或 fg %n ; Ctrl+C
(2)如果你想在字符环境的matlab中运行脚本,请使用
run 脚本文件名(不含.m扩展名)
(3)如果你想用ssh运行有X界面的matlab,登陆时请使用
ssh 主机名 -l 用户名 -X

如果是python代码:
命令如下:
nohup python 文件名.py 1>running2.log 2>running2.err &

参考链接:linux下后台运行matlab

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值