Сегодня я заметил странное поведение, я надеюсь, что смогу получить какое-то направление дальше.
Когда по крайней мере один процесс уже запущен в фоновом режиме, я прерываю(Ctrl + Z)активный процесс, а затем помещаю его в фон с bg
.
zsh
:$ some-long-running-command
^Z
zsh: suspended some-long-running-command
$ bg
[2] - continued some-long-running-command
$ jobs
[1] + running other-command-previously-run
[2] - running some-long-running-command
$
bash
:$ other-command-previously-run &
[1] 12345
$ some-long-running-command
^Z
[2]+ Stopped some-long-running-command
$ bg
[2]+ some-long-running-command &
$ jobs
[1]- Running other-command-previously-run &
[2]+ Running some-long-running-command &
$
Так почему же bash
держит процесс в фоновом режиме с bg
как "текущий" процесс (, обозначенный "+ ", который будет возобновлен, если fg
запущен ), а zsh
устанавливает "другой" процесс как текущий? Я не могу найти никакой документации, предполагающей, что поведение будет другим... Интересно, что если вы сделаете несколько fg
+ ^Z
+ bg
в zsh
, «текущий» выбор процесса будет «триггерным».
Кто-нибудь еще это видел?