1

特定のポートが localhost で開いているかどうかをテストし、開いていない場合は再起動します。

Windowsで実行されます。

4

3 に答える 3

1

これは、Windows 7でテストされ、動作するはずです。すべての NT フレーバーで動作するはずです。

function testPort($port, $timeout = 5) {
    if(!fsockopen('127.0.0.1', $port, $errno, $errstr, $timeout)) {
        exec("shutdown.exe /r");
    }
}

testPort(8080);
于 2010-01-27T11:52:44.650 に答える
0

これを行うための PHP 拡張機能を作成できます。ソケット チェック部分は PHP で直接実行できるため、拡張機能は Windows API を使用してマシンを再起動する必要があります。拡張機能の書き方についての質問です

InitiateSystemShutdownは、実際の再起動を行うために呼び出すことができる Win32 API 関数です。

于 2010-01-27T11:51:15.707 に答える
0

その特定のポートでローカルホストへの TCP 接続 (ソケット) を開くために必要なソケットを使用します。接続が確立されている場合はポートが開いていることを意味し、そうでない場合 (タイムアウトまたは拒否された場合)、ポートは閉じられます。

それはTCPポート専用です

ここにサンプルコードがあります

「再起動」部分には、次を使用しますexec('shutdown -r');

于 2010-01-27T11:51:47.187 に答える