我正在尝试执行以下操作。现在,我通过 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
现在可以做一个脚本吗?因为我注意到任何时候我输入screen
我都必须在之后按 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运行,怎么可能呢?