赞
踩
目录
C:\Users\Administrator>netstat -ano
活动连接
协议 本地地址 外部地址 状态 PID
TCP 0.0.0.0:80 0.0.0.0:0 LISTENING 4
TCP 0.0.0.0:135 0.0.0.0:0 LISTENING 1080
TCP 0.0.0.0:443 0.0.0.0:0 LISTENING 4836
TCP 0.0.0.0:445 0.0.0.0:0 LISTENING 4
TCP 0.0.0.0:902 0.0.0.0:0 LISTENING 3800
TCP 0.0.0.0:912 0.0.0.0:0 LISTENING 3800
TCP 0.0.0.0:1025 0.0.0.0:0 LISTENING 708
TCP 0.0.0.0:1026 0.0.0.0:0 LISTENING 1180
TCP 0.0.0.0:1031 0.0.0.0:0 LISTENING 1448
TCP 0.0.0.0:1072 0.0.0.0:0 LISTENING 3680
C:\Users\Administrator>netstat -ano|findStr "5150"
UDP 0.0.0.0:5150 *:* 14328
查看端口5150的状态,发现一个被UDP服务所占用,并且进程ID为14328
C:\Users\Administrator>tasklist|findStr "14328"
无连接的接收端.exe 14328 Console 1 5,052 K
查看到进程ID为14328的应用程序名字是“无连接的接收端.exe”,并且是控制台类型
或者直接在任务管理器里查看
C:\Users\Administrator>tasklist|findStr "2124"
QtGuiApplication1.exe 2124 Console 1 37,520 K
查看 进程id为2124的可执行文件的路径
C:\Users\Administrator>wmic process where processid=2124 get executablepath
ExecutablePath
C:\Users\Administrator\Desktop\QtGuiApplication1\Win32\Debug\QtGuiApplication1.exe
根据进程id杀死一个进程
taskkill /pid 2124 /f
使用popen()函数执行cmd命令之后,并且通过fgets()或者fgetline()或者fread()获取执行结果
- int ret =system("wmic process where name=\"QtGuiApplication1.exe\" get processid");
- qDebug() << ret;
- //使用system()执行命令之后只能返回一个结果状态,有时候我们还想要拿到执行的结果值,那么可以通过popen()函数
- //popen()函数功能:通过创建管道、fork、并调用shell。
- //第二个参数为读或写
- FILE* pipe =_popen("wmic process where name=\"QtGuiApplication1.exe\" get processid", "r");
- if (pipe != nullptr)
- {
- QString cmdRet;
- char buff[100] = {};
- while (fgets(buff, 100, pipe) != 0)
- {
- cmdRet.append(buff);
- }
- qDebug() << buff;
- }
- _pclose(pipe); //使用popen()打开之后需要使用pclose()关闭,不然会造成内存泄露
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。