为什么';在kill-9之后,mono服务不会重新启动吗?

为什么';在kill-9之后,mono服务不会重新启动吗?,mono,mono-service,Mono,Mono Service,我用它运行了一个mono服务 mono-service2 -l:lockfile process.exe 它启动了服务,一切都很好,但我必须在源代码中更改一些内容。所以我重新编译并部署了它。我通过运行来终止服务 kill -9 <pid> kill-9 现在我尝试再次运行该服务。但它根本就没有开始。这里有什么问题?当mono启动服务时,它会根据程序名或给定参数创建一个锁定/tmp。您应该通过发送SIGTERM not SIGKILL信号来停止服务-如果这样做,锁将被删除。现在您

我用它运行了一个mono服务

mono-service2 -l:lockfile process.exe
它启动了服务,一切都很好,但我必须在源代码中更改一些内容。所以我重新编译并部署了它。我通过运行来终止服务

kill -9 <pid>
kill-9

现在我尝试再次运行该服务。但它根本就没有开始。这里有什么问题?

当mono启动服务时,它会根据程序名或给定参数创建一个锁定/tmp。您应该通过发送SIGTERM not SIGKILL信号来停止服务-如果这样做,锁将被删除。现在您应该手动删除锁。阅读详细信息。

当mono启动服务时,它会根据程序名或给定参数创建一个锁定/tmp。您应该通过发送SIGTERM not SIGKILL信号来停止服务-如果这样做,锁将被删除。现在您应该手动删除锁。阅读详情。

@King告诉我们更多详情。pid是否在锁定文件中?删除锁定文件后,程序是否启动?(原因前一个问题是程序没有启动)。它是在删除锁文件后启动的。但是当你用SIGTERM杀死它的时候,它不是应该起作用吗。它无法关闭服务。通过SIGKILL终止,然后删除文件,然后启动服务看起来毫无意义。部署这样的应用程序,我们如何才能完美地做到这一点,而不是删除一个文件并重新启动。因此,第一个问题得到了解决。关于第二个问题,可能是服务的OnStop()方法中的问题,由于某种原因,它并没有结束。或者该服务可能会产生一些非后台线程?pid文件不应该包含一个可以由mono服务验证的pid,而不是彻底失败吗?外汇。如果断路器跳闸,这意味着我们需要一个人来纠正一堆机器,或者实现登录/初始化脚本来销毁任何延迟的锁文件。嘘@金告诉我们更多细节。pid是否在锁定文件中?删除锁定文件后,程序是否启动?(原因前一个问题是程序没有启动)。它是在删除锁文件后启动的。但是当你用SIGTERM杀死它的时候,它不是应该起作用吗。它无法关闭服务。通过SIGKILL终止,然后删除文件,然后启动服务看起来毫无意义。部署这样的应用程序,我们如何才能完美地做到这一点,而不是删除一个文件并重新启动。因此,第一个问题得到了解决。关于第二个问题,可能是服务的OnStop()方法中的问题,由于某种原因,它并没有结束。或者该服务可能会产生一些非后台线程?pid文件不应该包含一个可以由mono服务验证的pid,而不是彻底失败吗?外汇。如果断路器跳闸,这意味着我们需要一个人来纠正一堆机器,或者实现登录/初始化脚本来销毁任何延迟的锁文件。嘘!