что я хочу получить:
- в скрипте я задал переменную, которая проверяет ПИД
- далее я послал сигнал стоп этому пиду
- и теперь я хочу проверить заново ПИД - остановился процесс или нет
- но использовать ту же переменную я не могу, ведь она вычислилась сразу как только скрипт начал работать и соответственно вернет изначальный результат, до остановки процесса
вот наглядный пример:
Команда извлечения PID'а у Вас крайне сомнительная. Тем более что если речь о системном сервисе, его PID должен храниться в pid-файле, откуда его лучше всего и взять. При этом надо проверить, что команда, соответствующая этому PID, действительно та, которой запускается сервис, потому что он мог тихо умереть, а его PID получить другой процесс.
А первоначальный вопрос я так и не понял. PID процесса не меняется. Если хотите повторно использовать сохранённое в переменной значение — используйте, только, возможно, надо будет повторить проверку команды запуска процесса.
Отправки сигналов вообще не вижу. Причём они тут?
зачем для бекапирования БД вообще что-либо останавливать?
Присоединяюсь к вопросу.
To avoid any data inconsistency and corruption, it is recommended to shut down Confluence before creating a database backup or dump.
проверить что сервис работает или не работает, остановить, проверить что остановился, сделать бекап, запустить.
ну это уже вопрос реализации, вдруг в момент лока процесс захочет что-то записать в БД. какова будет реакция процесса и не свалится ли он - это еще надо выяснить. видимо отсюда и сферическая рекомендация - остановить, а потом дампить, чтоб было наверняка.
Процесс не должен валиться не то что при локе таблиц, а и при потере связи с СУБД. Если не хочется лочить — есть опция --single-transaction. А можно с реплики бекап делать... Вообще для «горячего» бекапа БД столько всего напридумывали, что ей-ей крайне странно останавливать ради этого какой-то сервис (да ещё и жабописаный, который потом, небось, полчаса стартует).
ну это уже вопрос реализации, вдруг в момент лока процесс захочет что-то записать в БД. какова будет реакция процесса и не свалится ли он - это еще надо выяснить. видимо отсюда и сферическая рекомендация - остановить, а потом дампить, чтоб было наверняка.
это одна из прямых обязанностей СУБД - разрешать подобные конфликты, так что ничего не развалится. Если, конечно, делать бекап штатными средствами, а не с помощью dd, так любимого многими.