У меня есть сценарий для запуска launchd, который запускает сервер, а затем сообщает ему, чтобы он корректно завершил работу, когда launchd его отключит (что должно быть при завершении работы). Мой вопрос: каков подходящий идиоматический способ заставить скрипт бездействовать, пока он не получит сигнал? Должен ли я просто использовать цикл while-true-sleep-1 или есть лучший способ сделать это?
#!/bin/bash
cd "`dirname "$0"`"
trap "./serverctl stop" TERM
./serverctl start
# wait to receive TERM signal.