0

我正在开发一个长时间运行的命令行脚本,当然我不想多次启动自己。所以我写了一个 .pid 文件并在启动时检查是否存在具有这种 PID 的进程。问题是在 Windows 上它返回 0 作为 PID,所以我总是通过该 PID 运行一个进程(系统空闲的 PID 为 0)。

有人知道如何解决吗?我可以让守护进程在 Windows 上运行吗?也许修复将使用 pcntl_fork 进行分叉?

PS 我正在使用 Yii,它的基础是 CConsoleCommand 类。

4

1 回答 1

0

我可能是错的,但我认为如果你写出一个 .pid,它不会在 Windows 上检查文件。

您可以检查文件是否存在,如果存在则不再运行。而且 afaik pcntl_fork 不能在 Windows 上运行(默认情况下,使用某种 *nix 模拟器它可能会工作)

于 2010-07-29T15:08:22.660 回答