1.说明
我们在执行某个Linux命令或程序的时候,要等待它结束才能关闭窗口(后台运行除外),所以遇到耗时任务会很麻烦,screen或tmux就可以解决这种情况,关闭窗口任务还可以继续,并且可以随时回来看一下它的执行情况
2.安装
# CentOSyum install screen# Ubuntuapt install screen
3.常用命令
screen -S 会话名 # 创建一个会话,例如 screen -S icy_hopescreen -ls # 查看已有会话(会话id、会话名、状态)exit # 退出会话,慎用,想要让它后台运行,直接关闭窗口即可screen -r 会话id # 回到已离线(状态为Detached)的会话,会话id通过-ls查看screen -S 会话id -X quit # kill掉一个会话# 进入一个会话后可使用快捷键Ctrl+a+c # 创建一个新的窗口Ctrl+a+w # 列出窗口列表Ctrl+a+n # 回到下一个窗口Ctrl+a+p # 回到上一个窗口Ctrl+a+0-9 # 切换窗口,在第0个窗口和第9个窗口之间切换
4.不进入screen执行命令
大多数情况下我们都是先进入一个screen然后再在里面执行各种命令,但有时候你不想进入,比如说使用Python调用shell的时候,那我们可以下面的命令执行
cmd='ls -a'screen -x -S 9039.test -p 0 -X stuff '$cmd'$'\n'
5.常见问题
There is no screen to be resumed matching XXX
# 先查看它的状态是否Attached,如果是,那就先退出再进入screen -d XXXscreen -r XXX