有时候,我们需要在ssh运行一些进程,并且不能短期完成或需要长期运行的进程,比如上文的Redis以及MInecraft 服务器或其他游戏服务器,QQ机器人等。 大多发行版自带了Screen,但是也有的可能没有,需要手动安装。提醒:本文已经超过 1550 天未修改,其中某些信息可能已经过时,请谨慎使用!
你似乎正在查看一篇很久远的文章。
为了你这样的访客,我特地保留了我的历史博文。不要笑话过去的我,用温柔的目光看下去吧。
#安装Screen
#Ubuntu/Debian
sudo apt-get install screen -y
#Cent OS 7
sudo yum install screen -y
如下载过慢,无法定位软件包,请换源。
#使用方法
#直接新建一个未命名的新窗口
screen
#新建一个名为mcserver的窗口
screen -S mcserver
#新建一个未命名窗口并运行命令(这里为启动minecraft服务器)
screen java -jar mcserver1.8.1.jar
#使用例:新建一个名为mcserver的窗口并启动minecraft服务器
screen -S mcserver java -jar mcserver1.8.1.jar
#列出窗口列表
screen -ls
#会话分离
当我们想退出窗口干点别的事情,但我们不想退出SSH或者不想结束当前进程 Ctrl + a快捷键看见 [detached] 提示并回到主窗口#恢复会话
我们退出窗口或断开SSH后想回到screen则,screen -ls列出窗口, screen -r 恢复窗口pi@raspberrypi:~$ screen -ls
There is a screen on:
2671.count (8/29/2019/8:51:32 PM) (Detached)
pi@raspberrypi:~$ screen -r 2671
#杀死会话
我们不想要运行mc服务器了,我要结束他,则要杀死这个会话并且结束运行的进程 我建议恢复会话后,停止现在的进程并输入exit来杀死会话以保证数据不会丢失损坏pi@raspberrypi:~$ screen -ls
There is a screen on:
2671.count (8/29/2019/8:51:32 PM) (Detached)
pi@raspberrypi:~$ screen -r 2671
[2019/8/29 20:57]smallxu038 join the game
[2019/8/29 20:58]stop
pi@raspberrypi:~$ exit
直接结束screen进程(不推荐会导致窗口内的进程数据丢失甚至损坏)
pi@raspberrypi:~$ screen -ls
There is a screen on:
2671.count (8/29/2019/8:51:32 PM) (Detached)
pi@raspberrypi:~$ kill -9 2637
pi@raspberrypi:~$
恢复会话Ctrl+a+k直接杀死窗口连同运行的进程,Ctrl + a输入 quit 直接退出窗口并结束运行的进程
#清除死去的窗口
杀死会话后, 再用screen -ls 发现窗口后面会有(???dead)字样,说明窗口死了,但还在占用空间,需要清除 pi@raspberrypi:~$ screen -wipe
这样,就解除了占用。
#FAQ
该文档没有FAQ,但我还是要放个FAQ装逼。欢迎评论
版权声明:转载时请以超链接形式标明文章原始出处和作者信息,来源孤影墨香本文链接: https://www.gymxbl.com/1491.html
访问时间:2024-10-10 04:41:41
Comments | NOTHING