Linux screen 让你的代码永不停止的跑起来!

1,637 阅读2分钟

前言

小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。

你是不是有过这样的烦恼,通过ssh连接了服务器,想运行一个需要执行很久的代码,但是一旦你关闭了shell,你的代码也随之停止运行,并不像期望的那样不停的在服务器上运行着,这时候screen就可以解决这个问题,让你的代码不停运行在服务器上!🕙⏱


什么是screen?

screen为多重视窗管理程序。

screen怎么用?

1. 创建一个screen 🖥
2. 在这个screen上运行程序 🏃🏿‍♂️
3. screen 间的切换
4. 关闭screen
1.创建screen 🖥

首先根据你的系统类型安装 screen

sudo apt-get install screen或者yum install screen screen -S screendemo 👈创建一个名字叫screendemo的screen 这时候已经自动切换到 screendemo的视窗下了

screen -ls 可以查看已经存在的窗口

image.png

这时候已经存在一个screendemo的窗口了,而且现在执行的代码,就是在screendemo这个窗口运行了,现在你可以跑你想运行的代码了🚗。

2.回主会话🔙

如果想让这个screendemo在后台运行,我们还回主会话操作其它的任务,可以按依次ctrl+a+d ,这时候就回到主会话了。

如果你设置的有快捷键这个地方可能会引起冲突,应该更换或者关闭你的快捷键,消除冲突。💣

image.png

这时候我们再screen -ls看下screen列表

image.png

发现已经在后台运行了(这时候你关闭你的shell或者关闭电脑都没事儿了)程序已经在服务端运行了。

3.回到screendemo🏃‍♀️

screen -r screendemo 就可以回去了

image.png

注意⚠👹 有时在恢复screen时会出现There is no screen to be resumed matching ****,遇到这种情况咋办呢?输入命令screen -d screendemo 然后再操作。

4.关闭screendemo 👋

每一个screen在后台运行着都会占用一部分系统资源,如果关闭可以执行exit

image.png