You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让GNU screen在有运行进程(如top)时创建同路径新窗口

解决screen在后台进程运行时无法创建同路径新窗口的问题

方法一:直接调用screen内置命令创建同路径窗口

放弃用stuff发送shell命令的方式,改用screen内置命令直接创建新窗口并继承当前窗口的工作目录,完全绕过当前运行的进程。

在.screenrc中替换原有配置为:

bind , eval 'screen -X chdir "$(screen -Q pwd)"' 'screen'
  • 原理:screen -Q pwd查询当前窗口的工作目录,screen -X chdir将screen会话的默认工作目录切换到该路径,最后screen创建新窗口,新窗口自动使用此路径作为工作目录。
  • 优势:不会干扰当前运行的进程(如编译、top),创建过程完全在screen层面完成。

方法二:暂停进程后执行命令再恢复

如果不想改动复杂的内置命令,可通过按键序列先暂停当前进程,执行创建窗口的命令,再恢复进程。

在.screenrc中替换原有配置为:

bind , stuff "^Zscreen^Mfg^M"
  • 原理:
    1. ^Z 发送Ctrl+Z暂停当前前台进程;
    2. screen^M 执行创建同路径窗口的shell命令;
    3. fg^M 恢复之前暂停的进程。
  • 优势:配置简单直观,编译、top这类进程暂停后恢复不会产生任何影响。

内容的提问来源于stack exchange,提问作者OfusJK

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 12:55:12