Linux远程断开后程序继续运行的方法(screen命令)

在电脑上远程登录服务器执行程序时,如果关闭远程登录窗口则服务器上运行的程序也会中止,解决办法:使用screen进行远程程序管理。

1 安装screen: 大多数linux自带screen,如果没有,可以使用下述命令进行安装

sudo apt-get install screen(大多数linux) 或 sudo yum install screen (大多数linux) 或 sudo pacman -S screen(archlinux系统)

2 进入screen运行程序:输入screen,在打开的screen会话窗口里输入执行程序的语句。也可以 screen -S <命令语句> 将两步合为一步,如下:

screen -S python test.py

3 暂时离开screen会话窗口:先按ctrl+a然后按d即可。此时服务器后台仍执行程序,即使远程断开也不影响。

4 想再次回到该screen会话窗口时输入 screen -r  。当有多个screen会话窗口时输入screen -r 会列出全部screen会话信息。

[sun@archlinux]$ screen -r
There are several suitable screens on:
        6119.pts-0.archlinux    (Detached)
        4541.pts-0.archlinux    (Detached)
        18978.pts-0.archlinux   (Attached)
Type "screen [-d] -r [pid.]tty.host" to resume one of them.

5 若有多个screen会话窗口,想进入其中一个时输入 screen -r <pid>,如下:

screen -r 4541

6 杀死一个screen窗口:进入该screen窗口中,先按ctrl+a然后按k即可,注意会出现kill确认,输入y确认kill。

7 创建另一个screen会话:若当前已经在screen窗口中,先按ctrl+a然后按c即可。若已经退出screen,则输入screen会进入一个新的会话窗口

8 查看全部screen会话:输入screen -ls

[sun@archlinux]$ screen -ls
There are screens on:
        4541.pts-0.archlinux    (Detached)
        18978.pts-0.archlinux   (Attached)

注:ctrl+a 是几乎所有screen窗口下的命令的开端

screen超级详细的说明见斯坦福文档:http://www.slac.stanford.edu/comp/unix/package/epics/extensions/iocConsole/screen.1.html

猜你喜欢

转载自blog.csdn.net/sunyusunyu2011/article/details/81027214