Process 执行shell
1. process 是一个进程,new proces是创建一个新的进程,
2. 线程是thread,它是操作系统的最小的单位,一个进程可以包含多个线程,线程里面可以执行创建进程操作
3. 32位操作系统只能访问32位的进程,比如一个32位的电脑,执行一个exe,这个exe也必须是32位的,否则会报 Win32Exception
4. Process 的 StandardOutput: 表示它执行进程是的输出流,前提条件:RedirectStandardOutput=true、 UseShellExecute=false
.
using (Process process = new Process()){process.StartInfo.FileName = "ipconfig.exe";process.StartInfo.UseShellExecute = false;process.StartInfo.RedirectStandardOutput = true;process.Start();// Synchronously read the standard output of the spawned process.StreamReader reader = process.StandardOutput;string output = reader.ReadToEnd();// Write the redirected output to this application's window.Console.WriteLine(output);process.WaitForExit();}
读取操作包括同步和异步两种,同步读操作直到相关的Process写入StandardOutput流或关闭该流才会完成。
异步读取为StandardOutput输出启用指定的Handler,并立即返回给调用方,在StandardOutput被定向到事件处理程序时,调用方可以执行其他工作
5.ProcessStartInfo
它的参数filename是必传的,可以是一个应用程序,也可以是一个可执行文件,比如一个.sh文件,也可以是一个.doc 文件,它用什么打开取决于它关联的应用程序,比如.doc文件用WPS打开。
ArgumentList |
添加命令不需要转移,不需要预留空格,比如 { "/c", "dir", @"C:\Program Files\dotnet" } |
Arguments |
需要完整的参数格式:"/c dir \"C:\\Program Files\\dotnet\"",需要预留空格 |
CreateNoWindow |
是否开启一个新的窗口 |
Environment |
获取应用于此进程及其子进程的环境变量,它是只读的,但是可以更改获取它的变量,更改完之后,UseShellExecute 需要设置为false myProcess.StartInfo.Environment.Add("TempPath", "C:\\Temp") |
FileName |
Gets or sets the application or document to start. |
UseShellExecute |
该值指示是否使用操作系统shell启动进程。 Setting this property to 指的是graphical shell(类似于Windows shell),而不是命令shell(例如bash或sh),并允许用户启动图形应用程序或打开文档。 |
WorkingDirectory |
当 UseShellExecute = |
Process 执行shell相关推荐
- Process 执行shell 脚本
概述: Process类是一个抽象类(所有的方法均是抽象的),封装了一个进程(即一个执行程序). Process 类提供了执行从进程输入.执行输出到进程.等待进程完成.检查进程的退出状态以及销毁(杀 ...
- java执行shell脚本 process.waitFor()返回1
记录一下今天遇到的一个问题 在java代码中执行shell脚本,部分代码如下 Process p = null; List<String> cmds = new ArrayList< ...
- Android执行shell命令
Android执行shell命令 一.方法 /** * 执行一个shell命令,并返回字符串值 * * @param cmd * 命令名称&参数组成的数组(例如:{"/system/ ...
- Python执行 shell 命令并实时打印输出
from subprocess import Popen, PIPE, STDOUTdef exe_command(command):"""执行 shell 命令并实时打 ...
- java连接linux服务器执行shell命令(框架分析+推荐)
java连接linux服务器执行shell命令(框架分析+推荐) 一.分类+连接方式 程序打成jar包,在本地服务器上执行shell命令.这种使用MyRuntimeUtil工具类 java程序远程li ...
- 怎么通过java去调用并执行shell脚本以及问题总结
原文 https://blog.satikey.com/p/5759/how-java-calls-and-executes-shell-scripts-and-summary.html 主题 She ...
- android shell 批量打包,Android执行shell命令打包
Android执行shell命令封装 Android可直接调用Runtime执行shell命令来实现一些功能,在此进行了一个封装. 将需要执行的命令添加到一个数组,并判断是否已root,还有一个回调接 ...
- java 调用casperjs_Java程序去调用并执行shell脚本及问题总结(推荐)
摘要: 该文章来自阿里巴巴技术协会(ATA)精选集 背景 我们在开发过程中,大部分是java开发, 而在文本处理过程中,主要就是脚本进行开发. java开发的特点就是我们可以很早地进行TDDL, ME ...
- Jenkins小坑之执行Shell
title: Jenkins小坑之执行Shell tags: Jenkins ExecuteBash daemonize descriptors categories: ci date: 2017-1 ...
最新文章
- python:列表增加元素,删除元素,切片等
- java异常处理试题答案_Java 面试题和答案 - (下)
- SpringBoot 2.x 监控中心:Actuator
- 社交网站将推动手游发展
- 编辑器FreeTextBox升级至3.0
- chrome 代理插件_Chrome浏览器拓展插件同步助手
- vs 2005 thread 无法调试
- 字符串匹配KMP算法设计C语言,KMP字符串匹配算法笔记
- Servlet3.0
- 网络收包流程-报文从网卡驱动到网络层(或者网桥)的流程(非NAPI、NAPI)(一)
- 各种语音编码方法,所需要的带宽
- matplotlib——饼状图pie函数
- 【SpringMVC学习10】SpringMVC对RESTfull的支持
- 主成分分析二级指标权重_确定权重方法之一:主成分分析
- 圣杯布局和双飞翼布局
- 软件测试技术什么是分支覆盖,分支覆盖率测试是什么?
- QQ被盗后,如何找回好友
- T三说茶丨教你分辨头采茶、头春茶、明前茶、雨前茶!
- dd指令打包iso文件 linux_Linux_如何在Linux操作系统下创建ISO镜像文件,1、用dd命令#dd if=/dev/cdrom - phpStudy...
- torch.nn.RNN基本用法
热门文章
- 安华金和成为中国网络安全产业联盟理事成员
- pta武林盟主 c(gcc)
- MySql常用指令总结
- python爬虫获取的网页数据为什么要加[0-python3爬虫爬取网页思路及常见问题(原创)...
- 河南大学计算机类课程表,河南大学软件学院 2013—2014学年第一学期11、12级课程表(确定版)...
- Excel2013常用函数积累01
- POI实现数据分页读取写入excel
- 识花草小程序全新改版上线,智能识花新玩法
- 罗马复兴各民族兵种详细参数——腓尼基篇
- 通达信创建自定义指数