Моносервис остановлен после перезагрузки
Я разработал приложение на C# с использованием Mono Develop и развернул его как моно-сервис в Linux Ubuntu 14.04. Есть несколько проблем, которые я не понимаю:
- Я заметил, что моно-сервисное приложение перестает работать после перезагрузки системы и блокировки файла не существует.
- Также я заметил, что при отключении питания компьютера моно-сервисное приложение перестает работать. Кроме того, иногда существует файл блокировки, даже если приложение моно-службы остановлено. Когда я прочитал PID из файла и попытался выполнить команду "KILL pid", он сказал: "pid - это не такая служба"!
- Если приложение моносервиса остановлено, я заметил, что не могу удалить файл, и получил исключение: "Отказано в доступе". Возможно, потому что процесс все еще существует как Зомби.
Теперь мой вопрос: как я могу правильно поддерживать приложение, которое работает на моно-сервис? Я имею в виду, как я могу правильно запускать, останавливать (без зомби) и гарантировать, что служба будет работать всегда. Нужно ли добавить какую-то работу cron, чтобы поддерживать это тоже?
Я следовал за linux.die.net для запуска, остановки и сброса. Вот как я запускаю сервис:
mono-service -l:/root/app-lock /home/emc/appfolder/app.exe
Также я читаю статьи на mattdeboard, но все еще не понимаю, как правильно поддерживать работу сервиса.