如何停止 zsh 继续 bg 工作
How to stop zsh continuing bg job
观察以下行为(我想停止发生):
> cat /dev/zero
[1] + 36461 suspended cat /dev/zero
> bg
[1] + 36461 continued cat /dev/zero
> cat
[1] + 36461 running cat /dev/zero
我不确定为什么输入 cat
会再次启动旧的 cat
,我希望它只是启动一个新进程。
zsh 选项 AUTO_RESUME
似乎打开了。
AUTO_RESUME (-W)
Treat single word simple commands without redirection as candidates for resumption of an existing job.
您可以使用 setopt no_autoresume
在全局范围内避免此行为。
或者只是为了这个命令,我们可以让它不是"single word"命令。在这种情况下,您可以通过添加一些 precommand modifiers 前缀来实现,例如 command
和 -
,如下所示:
> cat /dev/zero
[1] + 6241 suspended cat /dev/zero
> bg
[1] + 6241 continued cat /dev/zero
> cat
[1] + 6241 running cat /dev/zero
[1] + 6241 suspended cat /dev/zero
> - cat
观察以下行为(我想停止发生):
> cat /dev/zero
[1] + 36461 suspended cat /dev/zero
> bg
[1] + 36461 continued cat /dev/zero
> cat
[1] + 36461 running cat /dev/zero
我不确定为什么输入 cat
会再次启动旧的 cat
,我希望它只是启动一个新进程。
zsh 选项 AUTO_RESUME
似乎打开了。
AUTO_RESUME (-W)
Treat single word simple commands without redirection as candidates for resumption of an existing job.
您可以使用 setopt no_autoresume
在全局范围内避免此行为。
或者只是为了这个命令,我们可以让它不是"single word"命令。在这种情况下,您可以通过添加一些 precommand modifiers 前缀来实现,例如 command
和 -
,如下所示:
> cat /dev/zero
[1] + 6241 suspended cat /dev/zero
> bg
[1] + 6241 continued cat /dev/zero
> cat
[1] + 6241 running cat /dev/zero
[1] + 6241 suspended cat /dev/zero
> - cat