Linux screen命令用于多重视窗管理程序。
screen为多重视窗管理程序。此处所谓的视窗,是指一个全屏幕的文字模式画面。通常只有在使用telnet登入主机或是使用老式的终端机时,才有可能用到screen程序。
https://www.runoob.com/linux/linux-comm-screen.html
下文中使用name作为默认的screen名字示例,实际使用中需要替换成你创建的screen的名字
简单的入门使用
创建并进入
screen -S name # 创建一个名字为name的screen
挂起当前screen(还可以进入)
在screen中按下ctrl + a,然后按d(注意如果开启中文输入法可能会失效)
查看存在的screen
screen -ls # 查看存在的screen
进入挂起的screen
screen -x name # 进入名为name的screen(允许多个终端同时进入)
若打开了多个同名的screen, 则需要先使用 screen -ls
列出并找到要打开的screen对应的id, 然后使用 screen -x id
进入对应的screen
screen -x 12345 # 进入id为12345的screen
退出当前screen(无法再进入)
exit # 若当前处于screen则退出screen, 否则会退出当前bash
特殊用法
后台创建
screen -dmS name # 创建一个名为name的screen但是不进入
外部执行指令
screen -x -S name -p 0 -X stuff "ls\n" # 外部调用名为name的screen输入ls并回车(\n代表回车)
此处的 -p 0
意为若存在多个screen则选择第0个(从0开始),若你没有同名的screen则可以去掉
外部关闭screen
screen -S name -X quit # 从外部关闭名为name的screen
滚动
先按 ctrl + a
, 然后按esc
screen老牌,不过我还是习惯使用tmux。比如可以这样使用
tmux -L minecraft new-session -c /data/minecraft -s minecraft -d ‘java -Xmx6G -Xms6G -jar fabric-server-mc.1.19.2-loader.0.14.19-launcher.0.11.2.jar nogui’