#linux #bash #shell
#linux #bash #оболочка
Вопрос:
Моя конечная цель — запустить 2 команды одновременно (или, по крайней мере, на расстоянии нескольких сотен мс друг от друга). Я читал об amp;
этом в Linux. Например:
<linux_shell_cmd_1> amp; <linux_shell_cmd_2>
Достигнет ли это моей цели? Спасибо.
Комментарии:
1. Это достигнет этого. однако cmd1 будет работать в фоновом режиме, а cmd2 будет работать на переднем плане
2. Вторая команда будет запущена как можно скорее после запуска первой. Однако, как скоро это произойдет, зависит от планировщика ОС. Ваш скрипт может быть приостановлен на произвольное время (чтобы разрешить другим заданиям процессорное время), прежде чем он возобновится для запуска второго задания.
Ответ №1:
Учитывая, что ваша цель — быть в пределах нескольких сотен мс дельта, это должно работать по мере необходимости на типичном современном оборудовании при разумной нагрузке.
cmd1 amp; cmd2 # start cmd1 in background and cmd2 in foreground
… запускается cmd1
в фоновом режиме (не дожидаясь его завершения), а затем запускается cmd2
на переднем плане.
Вы также можете рассмотреть:
cmd1 amp; cmd2 amp; # start both cmd1 and cmd2 in background
В любом случае процесс запуска первого запускается немного раньше процесса запуска второго, но нет никакой гарантии относительно какого-либо порядка, кроме этого (если для вызова требуется больше cmd1
времени, чем cmd2
, то последний может быть запущен первым).