Linux 如何在远程服务器的后台运行脚本?

Linux 如何在远程服务器的后台运行脚本?

我在一台 Linux 机器上。

我想在远程服务器上运行四个 perl 脚本。每个脚本都会生成一个输出文件,但运行起来可能需要几个小时。我想在后台运行这些脚本,这样如果我与服务器断开连接、退出 shell 提示符或注销,它将继续运行。这些脚本在运行时还会将行打印到命令终端。我希望能够检查脚本打印到命令终端的打印语句。

我通常会使用screen -S命令来创建屏幕。然后按CTRL+ A CTRL+D分离并screen -r重新连接到屏幕,但我所在的远程服务器没有屏幕。而且我没有 sudo 权限来安装它。

如何在远程服务器的后台同时运行这 4 个 perl 脚本?

例如,假设我的脚本名为gene1.pl,我该怎么做?我试过,nohup perl gene1.pl & >> gene1-terminal_out.txt但没有成功。同样,我希望能够在脚本运行时动态查看终端上的输出。

答案1

nohup 没有将输出发送到终端的选项(至少在 CentOS 上)

尝试这个:

bash$ (perl gene1.pl 2>&1 | tee output.log) &

输出将被写入终端和 output.log 以供以后参考。

相关内容