В настоящее время я использую метод, описанный в How do I write a bash script to restart a process if it dies?, lhunath, чтобы перезапустить мертвый процесс.Сценарий оболочки: как перезапустить процесс (с трубой), если он умирает
until myserver; do
echo "Server 'myserver' crashed with exit code $?. Respawning.." >&2
sleep 1
done
Но вместо того, просто вызывая процесс MyServer, я хотел бы вызвать такую вещь:
myserver 2>&1 | /usr/bin/logger -p local0.info &
Как использовать первый метод с процессом с трубой?
Если мы хотим обрабатывать только отказ MyServer (PIPESTATUS [0]), я думаю, что ответ на chepner в более элегантный. Если мы хотим обработать сбой/usr/bin/logger, то ваш шлейф будет лучше. – mcoolive