screen简易用法总结

screen是一个非常实用的工具,提供从单个 SSH 会话(或本地会话)中使用多个 shell 窗口(会话)的能力。当会话被分离或网络中断时,screen 各会话中启动的进程仍将运行,而且你可以随时重新连接到 某个指定screen 会话查看情况。

启动一个screen会话

可以简单的在命令行里直接输入screen,这样便启动并进入到一个screen会话了。

如果你想给这个screen会话做个标记,也就是给它一个名称,可以用screen -S ssesion_name替换上述的screen,这样就启动并进入到一个名为session_name的screen会话了。

在screen会话执行命令

进入screen会话后,便可在这个screen会话中执行一些你想执行的命令了,比如升级系统apt update && apt upgrade -y

分离screen会话

如果你的命令执行时间比较长,比如上述的升级系统操作,而你又不想等待,想干点别的事。

这个时候你可以分离这个会话,让它在后台运行,按Ctrl + a + d即可分离当前会话,回到本地会话。

重返screen会话

当你觉得时间差不多了,想回到之前升级系统那个会话看看运行结果或运行情况,你可以输入screen -r返回之前的会话,前提是你只创建了一个screen会话,如果有多个,你还得知道会话的pid或者name。

可以输入screen -ls查看当前所有的screen会话,例如:

1
2
3
4
5
6
7
screen -ls

There are screens on:
7880.session (Detached)
7934.session2 (Detached)
7907.session1 (Detached)
3 Sockets in /var/run/screen/S-root.

其中7880,7934,7907为各screen会话对应的pid,而session,session1,session2则为它们对应的name。

可以指定pid screen -r 7934或指定name screen -r -S session2回到指定的screen会话中。

结束screen会话

这个很简单,在screen会话中输入exit或者按Ctrl + d即可结束当前会话。

参考:

https://handerfly.github.io/linux/2019/03/31/Screan命令的使用/

  • 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!