Получил две команды cmd1 и cmd2. Из двух, cmd2 занимает больше времени, чтобы закончить. Необходимо запустить cmd2, а затем cmd1.
Пытался запустить их следующим образом:
bash$ (nohup ./cmd2>result2 &) && nohup ./cmd1>result1 &
или же
bash$ (nohup ./cmd2>result2 &) ; nohup ./cmd1>result1 &
Но оба раза я вижу, что cmd1 не ждет завершения cmd2 и заполнения result1.
Как заставить cmd1 работать после cmd2, когда оба должны быть процесс nohup и работать в фоновом режиме?
shell
process
background-process
nohup
user33767
источник
источник
Ответы:
Ты сделал и то
cmd1
и другоеcmd2
параллельно. Вы сказали: «Запустите cmd2 в фоновом режиме и разорвите любую связь с ним. Запустите cmd1 в фоновом режиме и разорвите любую связь с ним ». Вы имели в виду: «Запустите cmd2 в фоновом режиме; когда он будет завершен, запустите cmd1 (также в фоновом режиме) ». Поскольку больше нет никакой связи с фоновой задачей, вам нужно разработать фоновую задачу, которая выполняет cmd2, а затем cmd1. Этоcmd2; cmd1
(или, скорее,cmd2 && cmd1
запуск cmd1, только если cmd2 выполняется успешно), и вам нужно будет указать,nohup
чтобы запустить оболочку, работающую в фоновом режиме для этого.источник
Если вы не возражаете против использования nohup:
источник
Просто используйте:
источник
дайте нам знать, что именно вы делаете с cmd2 и cmd1. Это зависит от типа задачи и результата, который вы хотите получить от вашей команды. Если вы столкнулись с проблемой двойного нажатия клавиши ввода с помощью команды, то это можно выяснить с помощью этого поста.
Вы также можете пойти этим путем
Смотрите приведенный ниже снимок экрана. Здесь я использую 3 команды, и все они выполняются последовательно. Я использовал backticks для этой задачи. На скриншоте вы также можете увидеть отметку даты и времени. Команда sleep имеет 60 секунд, следовательно, через 60 секунд моя следующая команда будет выполнена успешно. Я использовал команду jobs, чтобы проверить, работает ли любая команда в фоновом режиме. Здесь нет из рабочих мест, которые вы можете увидеть это 1.
Этот скриншот доступен и по этой ссылке , если его не видно
источник