![使用 ctrl-z 静默挂起进程](https://linux22.com/image/80556/%E4%BD%BF%E7%94%A8%20ctrl-z%20%E9%9D%99%E9%BB%98%E6%8C%82%E8%B5%B7%E8%BF%9B%E7%A8%8B.png)
在我当前的工作流程中,我经常使用 CTRL-z 来暂停 Vim,这样我就可以在使用 fg 恢复编辑代码之前快速输入几个命令(实际上,又是 CTRL-z,感谢这篇博文中方便的 ZSH 提示)。问题是,我的终端最终充斥着作业暂停消息,这分散了我希望看到的输出的注意力。
不需要的输出:
[1] + continued vim
zsh: suspended vim
所以我的问题是;有没有办法停止 CTRL-z 和 fg 打印任何输出?
答案1
我不确定交互式会话的消息是否可以轻松更改。但是你的问题可以按照 Jakuje 建议使用 Vim 的子 shell 来解决。当你完成时,不要运行你的命令,而是:!zsh
or和。:!bash
exit
答案2
一种方法是打破管道。然而,正在进行的程序不能fg
再被调用。
运行后您可以先init
通过命令放弃作业。然后你可以关闭终端。disown -h JobID|PID
bg JobID|PID
程序不会停止。从那时起它将更像一个守护进程。但是,它无法从中获取任何内容,并且stdin
它的输出将被忽略。stdout
stderr