Screen 筆記

先安裝好 screen 套件

# dnf install screen -y

建立一個 screen session,就直接使用 screen 指令即可。然後可以執行其他程式後,按 Ctrl + a d 暫時離開這個 screen session。

$ screen

列出目前的 screen sessions :

$ screen -ls
There is a screen on:
	4148116.pts-1.somehost	(Detached)
1 Socket in /run/screen/S-someuser.

如果要有建立有意義的 screen session 名稱可以用下面的指令:

$ screen -S "rsync_task"

再次列出目前的 screen sessions :

$ screen -ls
There are screens on:
	4152341.rsync_task	(Detached)
	4148116.pts-1.somehost	(Detached)
2 Sockets in /run/screen/S-someuser.

如果想要更改已經建立好的 session 名稱可以用下面的指令:

$ screen -S 4148116.pts-1.somehost -X sessionname backup_task

查看更改 session 名稱後的結果:

$ screen -ls
There are screens on:
	4148116.backup_task	(Detached)
	4152341.rsync_task	(Detached)
2 Sockets in /run/screen/S-someuser.

進入先前建立的 sessions,可以用 -x or -r 進入先前的 session。也可以用 session name or session id 都可以進入。

$ screen -x rsync_task
[detached from 4152341.rsync_task]
$ screen -x 4152341
[detached from 4152341.rsync_task]
$ screen -r rsync_task
[detached from 4152341.rsync_task]
$ screen -r 4152341
[detached from 4152341.rsync_task]

如果使用完 screen session 就直接使用 exit 指令退出 session。

$ exit
[screen is terminating]

也可以在 session 內更改終端機的 title ,按 Ctrl + a A

Set window's title to: somuser@somehost:~

如果要把正在使用的 screen detached 然後再恢復可以參考下面的指令

# screen -D ens2f0np0
[76797.ens2f0np0 power detached.]

# screen -r ens2f0np0
[detached from 76797.ens2f0np0]

一行執行指令 screen 放入背景…

# screen -S <session_name> -dm <command>

如果要使用 screen 命令 連接 usb console 可以用下列指令.

# screen -O /dev/ttyUSB0 115200

想要結束 usb console 可以按 Ctrl + a k y 離開