解决问题:vscode远程服务器,总是因网络中断、锁屏等导致程序中断

问题:vscode使用远程服务器总是因网络中断、终端不小心关闭、锁屏等导致程序中断

  • 1 安装screen
  • 2 创建一个新的screen会话
  • 3 列出所有的sereen会话
  • 4 附加到一个 screen 会话(再次进入screen窗口):
  • 5 暂时退出screen窗口(分离会话)
  • 6 删除screen窗口
  • 7 创建新的窗口:
  • 8 切换窗口:
  • 9 滚动终端输出:
  • 10 关闭 screen 会话:
  • 11 退出 screen 会话(关闭会话):
  • 12 删除无法使用的screen
  • 6 一些常用的快捷键:

screen 是一个功能强大的终端会话管理工具,它允许你在一个终端窗口中创建多个虚拟终端,并且可以轻松地分离和附加这些会话。以下是一些常见的 screen 使用规则:

1 安装screen

如果你的服务器上尚未安装screen,可以使用包管理器来安装它。

在终端,使用apt-get install screen命令安装screen,如果仅使用conda安装无用

(换了一个服务器,发现这个命令没用。用sudo apt install screen

2 创建一个新的screen会话

screen

这将创建一个新的 screen 会话,并在其中打开一个终端窗口。你可以在这个窗口中运行命令和程序。

screen -S name #指定名字

创建1个screen窗口(这里名字为zhe),并将你的终端切换到这个会话中。

3 列出所有的sereen会话

screen -ls
screen -list

这将列出所有当前运行的 screen 会话,以及它们的会话标识符(Session ID)。

Screen 的状态有两种,Attached和Detached,分别表示前台运行和后台运行。

Detached(分离):当你在使用 screen 时,你可以创建一个或多个终端会话,并在其中运行不同的命令或程序。如果你从当前终端会话中分离(Detached)出去,这意味着你的会话仍然在后台运行,但你可以关闭当前终端窗口而不会影响到会话的运行。这对于在服务器上运行长时间任务或进程时非常有用,因为你可以分离会话,然后稍后重新附加(Attach)到它,以查看或继续进行会话中的工作。

Attached(附加):附加是将一个分离的 screen 会话重新连接到当前终端窗口的操作。当你附加到一个会话时,你可以恢复会话中的活动,就好像你从未离开过一样。这使你能够继续之前的工作,查看之前运行的程序的输出,或者与之前创建的虚拟终端进行交互。

在使用 screen 时,你可以使用以下命令来分离和附加会话:

  • 分离会话:按下 Ctrl + A,然后按下 D(即先释放 Ctrl+A,再按D),会话将会分离。
  • 附加会话:运行 screen -r 或 screen -x 命令,后面跟着会话的名称或标识符,以重新连接到分离的会话。

这些功能使 screen 成为管理多个终端会话并在需要时轻松切换的强大工具。它特别有用在远程服务器上进行长时间运行的任务或维护工作时。

4 附加到一个 screen 会话(再次进入screen窗口):

screen -r [会话标识符]

使用 screen -ls 列出的会话标识符,可以附加到一个分离的 screen 会话。如果只有一个会话,可以省略会话标识符。

首先 ,使用screen -list 查看一下,如查看到有一个 7812.zhe 的screen;

然后 ,使用screen -r xx就会再次进入screen窗口,如 screen -r 7812.zhe

我一般不用screen -r xx,而是用screen -r -S name,如 screen -r -S zhe 直接用自己自定义的名字就ok

5 暂时退出screen窗口(分离会话)

ctrl+a,再按 d键,暂时退出screen终端 (Detached)。这将让screen会话在后台运行,你可以稍后重新连接到它。

6 删除screen窗口

screen -S xxx -X quit,如screen -S zhe -X quit # 删除zhe

7 创建新的窗口:

在 screen 会话中,按下Ctrl + A,然后按下 C,将创建一个新的终端窗口。你可以在不同的窗口中运行不同的命令。

8 切换窗口:

在 screen 会话中,按下 Ctrl + A,然后按下 n(下一个)或 p(上一个)来切换不同的窗口。

9 滚动终端输出:

在 screen 会话中,按下 Ctrl + A,然后按下 [ 进入滚动模式,可以使用上下箭头或 Page Up/Page Down 键来浏览终端输出。按 Esc 退出滚动模式。

10 关闭 screen 会话:

在 screen 会话中,可以使用 exit命令或按下Ctrl + D 来关闭当前终端窗口。当所有窗口都被关闭时,screen 会话也会终止。

11 退出 screen 会话(关闭会话):

  • 在 screen 会话内部

    按下 Ctrl + A,然后按下:,进入命令行模式,输入 quitexit来退出会话。

  • 在外部(强行关闭)

    screen -S [screen_name] -X quit
    

12 删除无法使用的screen

screen -wipe

6 一些常用的快捷键:

screen有许多快捷键,可以用于管理会话和窗口:

Ctrl + a, ? :来获取帮助,查看更多可用的快捷键和选项。

创建新窗口:Ctrl+a+c: 这将创建一个新的screen窗口
切换窗口:Ctrl+a+n: 用于在窗口之间切换。

列出所有窗口:Ctrl + a, "(双引号):这将显示当前会话中的所有窗口,并允许你选择要切换的窗口。

分割窗口:Ctrl + a, |(竖线) 或 Ctrl + a, %(百分号):用于在当前窗口中水平或垂直分割出一个新窗格,允许你在同一个窗口中同时查看多个内容。

关闭当前窗口或窗格:Ctrl+a+k: 杀死终端窗口(这将关闭当前窗口或窗格)
分离会话(后台运行):Ctrl+a+d: 退出会话:这将让screen会话在后台运行,你可以稍后重新连接到它。
Ctrl+a+w: 查看有几个窗口
值得注意的一点就是你会发现无法使用鼠标上下翻动查看终端窗口输出的相关信息。有一种方法是先打开大写模式Caps Lock,再使用ctrl+a+[快捷键打开copy模式,既可以上下翻动

这只是一些screen的常用快捷键示例,screen有更多功能,你可以通过键入Ctrl + a, ? 来获取帮助,查看更多可用的快捷键和选项。记住,screen是一个非常强大的工具,可以帮助你管理多个终端会话和窗口

你可能感兴趣的:(vscode,服务器,代码规范)