gpt4 book ai didi

java - 使用 procrun 检查服务是否正在运行

转载 作者:行者123 更新时间:2023-11-30 11:44:26 25 4
gpt4 key购买 nike

我正在使用 prunsrv创建窗口服务。我想问你是否有可能查询一个进程的状态(如果它正在运行,停止)或者一个进程是否存在。另外我想用Java程序读取pid文件的内容。

最佳答案

是的,有一个技巧:在服务的启动代码中创建一个本地套接字。如果您在创建套接字时遇到错误,您就会知道该服务的一个实例已经在运行。

如果你想检查服务是否存活,你可以连接到套接字。如果失败,则流程不存在。

并且您可以通过此套接字返回服务的 PID,因此“监控”程序不需要知道日志路径和 PID 文件名。如果您实现启动/停止方法,您甚至可以告诉监视器您的服务状态。

这样做的最大优点是,当您的服务因任何原因终止时,操作系统将确保套接字已关闭。第二个优点是它独立于操作系统运行 - 如果您需要将它移动到 Linux 或 Mac,则无需更改代码。

关于java - 使用 procrun 检查服务是否正在运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10785866/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com