如何在离开终端时禁用作业终止

如何在离开终端时禁用作业终止

Ctrl当我通过+离开终端D并且后台有作业时,我会得到有作业已停止第一次,但是当我再次按下Ctrl+时D,作业就被终止了。

我可以以某种方式禁用后者的功能,以便 bash不会如果有停止的工作,允许我离开终端吗?

答案1

跑步 :

nohup <command> &

nohup 是“不挂断”

看到你更新的问题后,上面的方法对你不起作用。你可以尝试从命令行照常运行该作业,然后执行CTRL-Z(这将暂停正在运行的程序),然后发出bg %1(%1 是您创建的最后一个作业)。这将有效地让您的程序在后台继续运行。现在您必须通过运行 将该作业从您的会话中分离出来disown -h。这将指示 shell 将正在运行的作业与您的会话分离,并阻止向其发送任何 SIGHUP。

答案2

我还没有找到一种方法来阻止 bash 在第二次杀死作业exit,但为了帮助我按照以下方法在提示中添加了作业计数https://stackoverflow.com/questions/12646917/show-job-count-in-bash-prompt-only-if-nonzero这可能会让我不太可能乱按 ctrl-D

相关内容