как показать, когда в последний раз система RHEL была «пропатчена»?

Вы должны либо просто удалить &в конце каждой команды, что заставит оболочку запускать команды , а не как фоновые задачи, или, если вам действительно нужно запускать их как фоновые задачи (поскольку вы также делаете другие вещи параллельно ), вам нужно будет сохранить PID процесса в переменной, а затем waitдля его завершения:

./extract.sh 1553212800 1554854400 & pid="$!"

# other things

wait "$pid"

./extract.sh 1554854400 1556668800 &  & pid="$!"

# other things (again)

wait "$pid"

# etc.

Лично, если бы у меня был длинный список таких команд, я бы поместил их все в один скрипт, например

#!/bin/sh

./extract.sh 1553212800 1554854400
./extract.sh 1554854400 1556668800

(примечание, нет фоновых заданий)

Тогда я бы, наверное, начал скрипт сnohup:

nohup./script.sh &

Это позволило бы мне выйти из системы, а затем снова войти в систему, чтобы увидеть, выполняется ли еще процесс сценария (, проверив с помощьюps).

Или я просто запустил tmuxсеанс, затем запустил скрипт как обычный (нетnohup)и нажал Ctrl+Bd , чтобы отсоединиться от него. Позже я мог вернуться к тому же сеансу оболочки с помощью tmux attach. См. руководство tmux.

1
26.07.2021, 05:17
0 ответов

Теги

Похожие вопросы