2016-03-28 17 views
-1

私は過去数日間ASPに関するいくつかのことを学んできました。コマンドを実行して出力を取得する方法

$online = exec('netstat -a -n |find "5816" |find "ESTABLISHED" /c') +1; 

私はデータを格納する変数を作成しようとしたが、ポート5816をチェックし、カウントする方法を見つけ出すことができないしている:私はASPにこのPHPのコード行を変換したかったが、私はちょっとそれにこだわって 接続の量 ヘルプは高く評価されています。

これは、基本的にcmdでポートとポート番号を確認するために実行するコマンドでなければなりません。それによって確立された接続の!

答えて

0

あなたは上記のコマンドを実行するには、このコードを使用することができ、その出力

を取得してコマンドを実行:

System.Diagnostics.Process process = new System.Diagnostics.Process(); 
process.StartInfo = new System.Diagnostics.ProcessStartInfo() 
{ 
    UseShellExecute = false, 
    CreateNoWindow = true, 
    WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden, 
    FileName = "cmd.exe", 
    Arguments = "/C netstat -a -n |find \"5816\" |find \"ESTABLISHED\" /c", 
    RedirectStandardError = true, 
    RedirectStandardOutput = true 
}; 
process.Start(); 
// Now read the value, parse to int and add 1 (from the original script) 
int online = int.Parse(process.StandardOutput.ReadToEnd()) + 1; 
process.WaitForExit(); 

このコードは、cmd.exeの実行ファイルを起動します。/C引数を使用すると、実行するコマンドを与えることができます。

単純な検索では、Stackoverflowで何百もの質問が表示されました。

出典:How To: Execute command line in C#, get STD OUT resultsRun Command Prompt Commands

関連する問題