您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > C#获取指定进程端口号
usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Diagnostics;usingSystem.Text.RegularExpressions;namespaceConsoleApplication6{classProgram{staticvoidMain(string[]args){//½ø³ÌidÓÉÓû§ÊäÈë±ØÐëÊÇÊý×Öintpid=int.Parse(Console.ReadLine());//´æ·Å½ø³ÌʹÓõĶ˿ںÅÁ´±íListintports=newListint();Processpro=newProcess();pro.StartInfo.FileName=cmd.exe;pro.StartInfo.UseShellExecute=false;pro.StartInfo.RedirectStandardInput=true;pro.StartInfo.RedirectStandardOutput=true;pro.StartInfo.RedirectStandardError=true;pro.StartInfo.CreateNoWindow=true;pro.Start();pro.StandardInput.WriteLine(netstat-ano);pro.StandardInput.WriteLine(exit);pro.StandardInput.AutoFlush=true;Regexreg=newRegex(\\s+,RegexOptions.Compiled);stringline=null;ports.Clear();while((line=pro.StandardOutput.ReadLine())!=null){line=line.Trim();if(line.StartsWith(TCP,StringComparison.OrdinalIgnoreCase))//Ñ¡È¡tcpÐÒé{line=reg.Replace(line,,);string[]arr=line.Split(',');if(arr[4]==pid.ToString())//PID{//stringsoc=arr[1];//±íʾ±¾µØ¶Ë¿Ústringsoc=arr[2];//Ô¶³Ì¶Ë¿Úintpos=soc.LastIndexOf(':');//¶Ë¿ÚÇ°µÄðºÅ:intpot=int.Parse(soc.Substring(pos+1));//È¡±¾µØ¶Ë¿Úif(pot!=80&&pot=1000)//¹ýÂË80¶Ë¿ÚÌáÈ¡´ó¶Ë¿Ú¶ÔÓÎÏ·¶Ë¿ÚÓÐÀûports.Add(pot);}}/*elseif(line.StartsWith(UDP,StringComparison.OrdinalIgnoreCase)){line=reg.Replace(line,,);string[]arr=line.Split(',');if(arr[3]==pid.ToString()){stringsoc=arr[1];intpos=soc.LastIndexOf(':');intpot=int.Parse(soc.Substring(pos+1));ports.Add(pot);}}*/}pro.WaitForExit();//µÈ´ý³ÌÐòÖ´ÐÐÍêÍ˳ö½ø³Ìpro.Close();foreach(intremoteportinports){Console.WriteLine(remoteport);}Console.ReadLine();}}}
本文标题:C#获取指定进程端口号
链接地址:https://www.777doc.com/doc-6372372 .html