在进程中执行cmd.exe指令关闭其它进程的方式[c#]
在正常的进程工作中可能遇到某些某些资源被占用的情况,需要关闭这些占用资源的进程,然后方便自己继续进行工作,以adb.exe进程被占用为例:
设置默认adb端口位5037,如果不是该端口可以在函数的参数列表中增加一个变量来替代。
private void button1_Click(object sender, EventArgs e)
{
try
{
//创建一个进程
Process p = new Process();
p.StartInfo.FileName = "cmd.exe";
p.StartInfo.UseShellExecute = false;//是否使用操作系统shell启动
p.StartInfo.RedirectStandardInput = true;//接受来自调用程序的输入信息
p.StartInfo.RedirectStandardOutput = true;//由调用程序获取输出信息
p.StartInfo.RedirectStandardError = true;//重定向标准错误输出
p.StartInfo.CreateNoWindow = true;//不显示程序窗口
p.Start();//启动程序
string strCMD = "netstat -aon|findstr \"5037\"";
//向cmd窗口发送输入信息
p.StandardInput.WriteLine(strCMD + "&exit");
p.StandardInput.AutoFlush = true;
//获取cmd窗口的输出信息
string output = p.StandardOutput.ReadToEnd();
char[] szChar = new char[] { '\r', '\n' };
string[] strArr = output.Split(szChar, StringSplitOptions.RemoveEmptyEntries);
List<int> listInt = new List<int>();
foreach (string strItem in strArr)
{
if (strItem.Contains("ESTABLISHED"))
{
string strPid = strItem.Substring(strItem.IndexOf("ESTABLISHED") + 11);
listInt.Add(Int32.Parse(strPid.Trim()));
}
}
strCMD = "taskkill /f ";
foreach (int nItem in listInt)
{
strCMD += $" /pid {nItem}"; // 一次性杀死多个进程
}
//向cmd窗口发送输入信息
p.Start();//启动程序
p.StandardInput.WriteLine(strCMD + " &exit");
p.StandardInput.AutoFlush = true;
richTextBox1.Text = output;
//等待程序执行完退出进程
p.WaitForExit();
p.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message + "\r\n跟踪;" + ex.StackTrace);
}
}
在进程中执行cmd.exe指令关闭其它进程的方式[c#]相关推荐
- python中cmd全称_【转】Python中执行cmd的三种方式
原文链接:http://blog.csdn.net/menglei8625/article/details/7494094 目前我使用到的python中执行cmd的方式有三种: 1. 使用os.sys ...
- 怎样在Python中执行cmd
这篇文章主要给大家分享在Python中执行cmd,下文描述了三个方法使用os.system()方法.使用os.popen()方法.使用subprocess.Popen(),需要的朋友可以参考一下 1. ...
- Win10--在右键菜单中添加cmd.exe(在此处打开CMD窗口)
原文网址:Win10--在右键菜单中添加cmd.exe(在此处打开CMD窗口)_IT利刃出鞘的博客-CSDN博客 简介 说明 本文介绍Windows10如何在右键菜单中添加cmd.exe(在此处打开C ...
- win8中让cmd.exe始终以管理员身份运行
原文地址为: win8中让cmd.exe始终以管理员身份运行 最近在学习配置本地服务器,在命令行启动mysql时总是由于权限不足而失败, Win+R -- cmd ,这样总是不能,还要找到cmd.ex ...
- 在进程中执行新代码 execl、execle、execlp、execv、execve和execvp函数
在进程中执行新代码 execl.execle.execlp.execv.execve和execvp函数 摘要:本文主要讲述怎样在进程中执行新代码,以及exec系列函数的基本用法. 在进程中执行新代码 ...
- Qt 中执行cmd命令失败,无权限,需要提升程序以管理员运行 vs2013设置
程序中有些 地方 需要执行windows cmd 命令, 如 taskkill 进程命令 (QString c = "taskkill /im osk.exe /f";m_pPro ...
- java中执行cmd命令_如何通过Java执行cmd命令
小编典典 我在forums.oracle.com中找到了 允许重用进程以在Windows中执行多个命令:http : //kr.forums.oracle.com/forums/thread.jspa ...
- python使用教程cmd啥意思-python中执行cmd的方式
1. 使用os.system("cmd") 导入import os. 程序会打出cmd在linux上执行的信息. os.system("ls") 2. 使用Po ...
- 8086简单的指令流水线_在8086微处理器中执行流水线的指令和概念的步骤
8086简单的指令流水线 Any computer or machine works according to some instructions. These instructions are re ...
最新文章
- Shell生成随机数并输出文件对应行
- struts2.2.3需包含的jar包
- nacos1.3.2连接mysql_Nacos 1.3.0版本部署连接mysql 8+
- java stringbuffer倒置_Java程序设计05——String和StringBuffer
- Reactive Extensions 相见恨晚的Rx.Net
- MongoDB学习笔记一:MongoDB的下载和安装
- mysql日期排序YMD_php将二维数组按日期(支持Ymd和Ynj格式日期)排序
- 修改Wordpress插件---advanced-access-manager.1.7.3---
- xcode打包导出ipa
- 基于SLAM的机器人的自主定位导航
- CPU0704报错处理
- Debian 下的五笔输入法 Rime
- 1000多万淘宝卖家及23万天猫卖家,开始构建私域流量时代!
- git 清除版本库中的忽略文件
- Spring Security 配置白名单访问后,仍然报错403
- 【好文转载】产品经理做产品设计的九步法
- 素数筛(筛选法求素数)
- GBC代理“花生漫画PEANUTS”,遭遇侵权账户冻结应该怎么处理?
- CSP2021提高组游记
- ExtJS EditorGridPanel 示例之Array格式(自定义Array解析器)Store前后台增删改查