意外停机后的控制

control after unexpected shutdown

本文关键字:控制 意外停机      更新时间:2023-10-16

我正在编写一个程序,该程序向服务器发送命令,并在服务器上创建一个文件,以让它知道它已连接,例如,当程序运行时,它会在每次循环时创建一个文件说"here", php站点然后检查该文件的服务器,如果文件在那里,它知道程序已连接。然而,当它突然停止说,因为计算机关机,它可能发生关机时,文件已经创建,所以说它关闭现在在5分钟,如果服务器检查文件将在那里,有没有办法让程序删除意外关机的文件?

谢谢,

为了达到这个目的,您最好创建其他东西而不是文件。由于文件通常被用作更永久的存储解决方案,因此这不是您想要的。

我建议使用互斥锁或其他命名的、操作系统实现的、跨进程令牌或同步原语。从那时起,如果你的程序结束(正常或异常),操作系统将为你清理令牌,所以你不需要担心手动清理。

在Windows上,你可以使用像命名互斥锁这样的东西,不确定你会在Linux或其他unix上使用什么,但肯定会有这样的东西。

如果创建进程为Windows,则是。创建标记为FILE_FLAG_DELETE_ON_CLOSE的文件。这将在文件句柄关闭时自动删除该文件。当应用程序以任何方式终止时,句柄也会关闭。

我不确定这种文件机制是最明智的解决方案。对于客户端程序来说,每10秒从PHP站点获取一个简单的网页可能要容易得多。