Перезапуск приложения linux с использованием записи возрождения в inittab не работает - PullRequest
0 голосов
/ 31 августа 2018

Сценарий:
У меня есть процесс, работающий в Linux, который запускается в фоновом режиме с помощью скрипта, подключенного к /etc/init.d/, называемого MyApp, который является просто сценарием оболочки без .sh. Ниже приведен мой init.d скрипт сценария

#!/bin/sh

PARAM=$1

case ${PARAM} in
    start)
        MyApp &
        ;;
    stop)
        killall -9 MyApp
        ;;
    *)
        echo "Usage: $0 {start|stop}" >&2
        exit 1
        ;;
esac

Как вы можете видеть, он начинается MyApp на заднем плане.

Цель и задача:
Я хочу перезагрузить MyApp, когда он падает. Я пытался выяснить, как это делается. Похоже, я должен добавить запись в /etc/inittab из различных ссылок, которые я прочитал. Поэтому я добавил следующую запись в /etc/inittab.

MyApp:12345:respawn:MyApp

Вопрос:
Выше, кажется, не работает, и как я могу заставить это работать правильно? Что плохого я здесь делаю?

Примечание:
Я делаю killall -9 MyApp и ожидаю его перезапуска из-за записи, которую я добавил в /etc/inittab. Это ожидание правильно?

1 Ответ

0 голосов
/ 31 августа 2018
case ${PARAM} in
    start)
        (while :; do MyApp ;done) &
        ;;
...