1 背景
在运行docker或者使用终端时,需要在启动进程或容器后通过手动输入密码的方式进行交互。如果通过docker run -d xxx
或者nohup xxx
的方式启动又无法进行密码输入导致内部程序无法正常运行。
系统:macOS Big Sur 11.0.1
2 使用screen工具
2.1 创建一个新session
会话名为sessionName:
$ screen -S sessionName
创建后会出现第一个窗口:实际为打开一个系统默认的bash终端。此时已经进入了新的会话当中,在这里可以执行你的进程或者运行docker容器。这里我以一个阻塞窗口的vim编译为例:
$ vim sessionName.txt
效果图如下:
之后终端会阻塞在vim编辑器中。
2.2 切出该session
键盘输入:ctrl+a+d,切出session回到初始终端中:
注:有detached提醒。
2.3 如何回到session?
过了很久,你想回来看看session里那个进程进行的如何。
$ screen -ls
效果图如下:
找到session的id:78416,并执行:
$ screen -r 78416
效果图如下:
回到了原阻塞的session中。
ps:
本人热爱图灵,热爱中本聪,热爱V神,热爱一切被梨花照过的姑娘。