Pingよりもコンピュータがオンラインであることを確認するより速い方法は何ですか?

Pingよりもコンピュータがオンラインであることを確認するより速い方法は何ですか?

私は研究室のコンピュータセットのためのWake on LANスクリプトを書いています。我々は、コンピュータのホスト名、IP、およびMACのリストを含むsqliteデータベースを持っています。現在、「-c1」を使用して各データベースをpingして、無限に実行されないようにします。しかし、少し待ち時間が必要な場合でも、より速い方法はありますか? pingの代わりに答え? pingを使用すると、続行するにはping応答が必要なため、スクリプトの速度が大幅に遅くなるようです。

どんなアドバイスでも心から感謝します!

ベストアンサー1

単一のパケットを送信して応答を待つのが最速の方法の1つであり、pingが良い方法です。実際、あなたのユースケースによると、次のようになります。早すぎるこれは、システムが実際に有用なタスクを実行しているかどうかを知らせるのではなく、カーネルのネットワーキングサブシステムがアクティブで構成されているという事実だけを知らせるからです。

しかし、これが十分であると仮定すると、いくつかの改善を行うことができます。まず、-W1pingタイムアウトを1秒に短縮できます。次に、スクリプトが他のホストを非同期に(バックグラウンドスレッドで)pingして待つことなく、必要に応じて結果を確認できます。

あるいは、アプローチを考え直し、起動時にリモートシステムをチェックインすることもできます。システムがまだチェックインしていない場合は、システムがダウンしていると想定できます。

おすすめ記事