将正在终端中运行的进程或者docker切至后台运行

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神,热爱一切被梨花照过的姑娘。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容