更新:

更新:

有时我会遇到这样的情况:我不小心按了CTRL+ ,我的应用程序就消失在后台了。Z我知道,我可以把它带回来fg,所以没什么大不了的。但我想知道是否要关闭此job control功能。在我的一生中,我记不起何时需要它,它在我看来只是过去的遗迹。

完全禁用可以吗job control?或者我错过了什么,这个功能很有用吗?我如何在我的.bashrc

更新:

我已经set +m按照@Falsenames 的建议进行了尝试。但是,这仅当我在终端中键入它时才有效。添加set +m到my中.bashrc没有任何效果。

答案1

您可以将以下内容添加到命令行中以停止使用监视模式。

设置+m

如果您稍后确实需要 ctrl-z 功能,则只需键入“set -m”即可启用对该会话的监控。

男人狂欢。请注意,这是针对“-m”的,“+m”将该设置切换为禁用。

set [+abefhkmnptuvxBCEHPT] [+o option] [arg ...] 
....
-m
    Monitor mode. Job control is enabled. This option is on by default for interactive
    shells on systems that support it (see JOB CONTROL above). Background processes 
    run in a separate process group and a line containing their exit status is printed
    upon their completion. 

作为最后的努力,您可能需要手动编译不带“--enable-job-control”标志的 bash 版本。这是一个快速安装指南来自 GNU。如果您确实选择走这条路,请勿替换 /bin/bash 以防后台进程通过 bash 运行并需要作业控制。相反,创建 /bin/bash.alt 或其他文件。您可以通过运行 usermod 或以 root 身份编辑 /etc/passwd 将默认 shell 更改为这一备用 shell。

答案2

stty susp undef将禁用大多数程序的键盘启动的挂起信号,但是像 vim 和 emacs 这样具有特定绑定的命令Ctrl-Z必须单独重新配置。在 emacs 中,您可以运行(global-unset-key "\C-z").

您可以将该 stty 命令添加到您的~/.bash_profile或中~/.profile,注销,然后再次登录。

答案3

或者我错过了什么,这个功能很有用吗?

回答这部分问题:Cz /fg组合对于我的 vim 工作流程至关重要。例如,我更喜欢 Cz >> 而git commit不是fg在 vim 中使用 git 包装器。

Cz 有助于将 shell 视为 IDE,符合“做一件事”原则。(这代替了“编辑器作为 IDE”)。

答案4

添加trap "" SIGTSTP到您的脚本中。它会捕获信号并忽略它。

#!/bin/bash
trap "" SIGTSTP
watch date

相关内容