私は長時間実行されるコマンド ライン スクリプトを開発していますが、もちろん、それ自体を複数回起動したくありません。そのため、.pid ファイルを作成し、起動時にそのような PID を持つプロセスが存在するかどうかを確認します。問題は、Windows では PID として 0 を返すため、常にその PID の実行によってプロセスを取得します (System Idle には PID 0 があります)。
誰かがそれを修正する方法を知っていますか? Windows 上で動作するデーモンを作成できますか? 修正は pcntl_fork でフォークされるのでしょうか?
PS私はYiiを使用しています.CConsoleCommandクラスをベースにしています。