以前遇到长时间执行任务时,一般是使用nohup加后台运行,但是涉及到少量代码编写。
同事介绍了一个screen命令,根据文档,此命令已经过时,最新的命令是tmux。
tmux的介绍文档,RedHat的这一篇非常不错。
在文章的开始,介绍了终端复用器的2个主要用途:
第一种用途在做演示时非常有用,如下图:

之后演示中用的这个例子非常好:
$ while true; do echo "Hello $c"; let c=c+1; sleep 1; done
常用的快捷键:
以下是一个实际的运行过程:
[oracle@instance-20230918-1052-db19c-iaas test]$ tmux
[detached (from session 0)]
[oracle@instance-20230918-1052-db19c-iaas test]$ tmux ls
0: 1 windows (created Sat Oct 7 10:13:39 2023) [135x39]
[oracle@instance-20230918-1052-db19c-iaas test]$ tmux attach
[detached (from session 0)]
[oracle@instance-20230918-1052-db19c-iaas test]$ tmux attach
[detached (from session 0)]
[oracle@instance-20230918-1052-db19c-iaas test]$
有了tmux,并不表示nohup+后台运行就被替代了。只不过各有各的使用场景。例如10几分钟的压缩,几小时的加密都可以用tmux,但一些长时间运行的需要保留输出日志的程序仍可以用tmux。