Я скопировал список несколько долго выполняющихся команд в оболочке bash и нажал Enter. Теперь команды выполняются последовательно.
Например:
train_agi.sh
find_meaning_of_life.sh
destroy_universe.sh
Теперь я хочу, чтобы текущая команда завершилась, но последующие команды были прерваны.
Как лучше всего этого добиться? Я думал о завершении работы оболочки, но не уверен.
У вас должна быть возможность приостановить все команды, используя Ctrl + Z столько раз, сколько есть команд в очереди, а затем убить
те, которые вы не хотите запускать. Затем вы можете возобновить выполнение первой команды, вернув ее задание на передний план, используя fg
(или фон, используя bg
, если хотите).
Для иллюстрации:
$ /bin/sleep 300 ; /bin/sleep 200 ; /bin/sleep 100
^Z
[1]+ Stopped /bin/sleep 300
^Z
[2]+ Stopped /bin/sleep 200
^Z
[3]+ Stopped /bin/sleep 100
steeldriver@DESKTOP-SPDO14V:~$
steeldriver@DESKTOP-SPDO14V:~$ jobs
[1] Stopped /bin/sleep 300
[2]- Stopped /bin/sleep 200
[3]+ Stopped /bin/sleep 100
steeldriver@DESKTOP-SPDO14V:~$
steeldriver@DESKTOP-SPDO14V:~$ kill %2 %3
[2]- Terminated /bin/sleep 200
[3]+ Terminated /bin/sleep 100
steeldriver@DESKTOP-SPDO14V:~$
steeldriver@DESKTOP-SPDO14V:~$ fg %1
/bin/sleep 300
-