使用 ctrl-z 静默挂起进程

使用 ctrl-z 静默挂起进程

在我当前的工作流程中,我经常使用 CTRL-z 来暂停 Vim,这样我就可以在使用 fg 恢复编辑代码之前快速输入几个命令(实际上,又是 CTRL-z,感谢这篇博文中方便的 ZSH 提示)。问题是,我的终端最终充斥着作业暂停消息,这分散了我希望看到的输出的注意力。

不需要的输出:

[1]  + continued  vim

zsh: suspended  vim

以下屏幕截图显示了在标准会话中最终的结果: 在此输入图像描述

所以我的问题是;有没有办法停止 CTRL-z 和 fg 打印任何输出?

答案1

我不确定交互式会话的消息是否可以轻松更改。但是你的问题可以按照 Jakuje 建议使用 Vim 的子 shell 来解决。当你完成时,不要运行你的命令,而是:!zshor和。:!bashexit

答案2

一种方法是打破管道。然而,正在进行的程序不能fg再被调用。

运行后您可以先init通过命令放弃作业。然后你可以关闭终端。disown -h JobID|PIDbg JobID|PID

程序不会停止。从那时起它将更像一个守护进程。但是,它无法从中获取任何内容,并且stdin它的输出将被忽略。stdoutstderr

相关内容