我使用 Mono Develop 开发了 C# 应用程序,并在 Linux Ubuntu 14.04 上部署为单服务。有几个我不明白的问题:
- 我注意到单服务应用程序在系统重新启动后停止运行并且锁定文件不存在。
- 我还注意到,当我断开计算机单服务应用程序停止运行的电源时。除此之外,即使单服务应用程序停止,有时也会存在锁定文件。当我从文件中读取 PID 并尝试执行命令“KILL pid”时,它说:“pid 不是这样的服务”!
- 如果单服务应用程序停止,我注意到我无法删除任何文件并且收到异常:“权限被拒绝”。可能是因为进程仍然作为僵尸存在。
现在,我的问题是:如何正确维护在单服务上运行的应用程序?我的意思是如何正确启动、停止(没有僵尸)并确保服务始终运行。我是否也需要添加一些 cron 作业来维护它?
我关注linux.die.net的启动、停止和重置。这就是我开始服务的方式:
mono-service -l:/root/app-lock /home/emc/appfolder/app.exe
我还阅读了 mattdeboard文章,但我仍然对保持服务正常运行的正确方法感到困惑。