加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

在nohup bash脚本中运行几个matlab实例

发布时间:2020-12-15 21:09:32 所属栏目:安全 来源:网络整理
导读:我正在尝试做类似以下的事情. 现在,我通过ssh连接到远程机器并使用nohup命令运行我的分析 nohup matlab -nodesktop -nodisplay mycode.m output.txt 21 现在我想编写一个脚本,在后台运行几个nohup命令,一个接一个. 我设法做到了 #!/bin/bashmatlab -nodeskto
我正在尝试做类似以下的事情.
现在,我通过ssh连接到远程机器并使用nohup命令运行我的分析

nohup matlab -nodesktop -nodisplay < mycode.m > output.txt 2>&1 &

现在我想编写一个脚本,在后台运行几个nohup命令,一个接一个.
我设法做到了

#!/bin/bash
matlab -nodesktop -nodisplay -r "mycode;quit;" > output.txt

但是,不仅代码仅适用于一个CPU,而且它还处于无限循环中,永远不会完成工作.

我可以解决这个问题吗?
启动script.sh后关闭终端非常重要

编辑:
多亏了你,我设法让下面的事情运作良好

ssh user@ipaddress
screen
cd folder1/
nohup matlab -nodesktop -nodisplay < mycode.m > output.txt 2>&1 &
exit
screen
cd folder2/
nohup matlab -nodesktop -nodisplay < mycode.m > output.txt 2>&1 &
exit

现在可以做一个脚本吗?因为我注意到,每当我输入屏幕时,我都必须立即按Enter键.

EDIT2:@Peter
我做了你的建议

#!/bin/bash
cd folder1/
matlab -nodesktop -nodisplay -r "mycode;quit;" < /dev/null  > output.txt
cd folder2/
matlab -nodesktop -nodisplay -r "mycode;quit;" < /dev/null  > output.txt

但只有第一个matlab运行,它怎么可能?

解决方法

编译您可以尝试这些的所有建议和想法:

#!/bin/bash
ssh user@ipaddress "
cd folder1/
nohup matlab -nodesktop -nodisplay < mycode.m > output.txt 2>&1 &
cd folder2/
nohup matlab -nodesktop -nodisplay < mycode.m > output.txt 2>&1 &
"

要么

#!/bin/bash
ssh user@ipaddress "
cd folder1/
nohup matlab -nodesktop -nodisplay -r 'mycode;quit;' < /dev/null  > output.txt 2>&1 &
cd folder2/
nohup matlab -nodesktop -nodisplay -r 'mycode;quit;' < /dev/null  > output.txt 2>&1 &
"

要么

#!/bin/bash
ssh user@ipaddress "
cd folder1/
screen -dm matlab -nodesktop -nodisplay < mycode.m > output.txt 2>&1
cd folder2/
screen -dm matlab -nodesktop -nodisplay < mycode.m > output.txt 2>&1
"

要么

#!/bin/bash
ssh user@ipaddress "
cd folder1/
screen -dm matlab -nodesktop -nodisplay -r 'mycode;quit;' < /dev/null  > output.txt 2>&1
cd folder2/
screen -dm matlab -nodesktop -nodisplay -r 'mycode;quit;' < /dev/null  > output.txt 2>&1
"

您也可以尝试期望控制matlab而不是发送mycode.m或使用-r.

尝试在屏幕上做nohup.而且我认为您不再需要添加&因为默认情况下屏幕默认运行为守护进程.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读