1、背景

static变量

  • static变量也称作静态变量,静态变量和非静态变量的区别是:静态变量被所有的对象所共享,在内存中只有一个副本,它当且仅当在类初次加载时会被初始化。而非静态变量是对象所拥有的,在创建对象的时候被初始化,存在多个副本,各个对象拥有的副本互不影响。
  • static成员变量的初始化顺序按照定义的顺序进行初始化。

static方法

  • 一般称作静态方法,由于静态方法不依赖于任何对象就可以进行访问,因此对于静态方法来说,是没有this的,因为它不依附于任何对象,既然都没有对象,就谈不上this了。并且由于这个特性,在静态方法中不能访问类的非静态成员变量和非静态成员方法,因为非静态成员方法/变量都是必须依赖具体的对象才能够被调用。
  • 但是要注意的是,虽然在静态方法中不能访问非静态成员方法和非静态成员变量,但是在非静态成员方法中是可以访问静态成员方法/变量的。

2、操作:

public class jinCheng
{static Process p;static void RunPythonScript(string Arguments){p = new Process();string path = @"F:\hand\leapmotion_gestures-0.3\leapmotion_gestures-0.3\" + sArgName;p.StartInfo.FileName = @"D:\Python\python.exe";p.StartInfo.Arguments = path;p.StartInfo.CreateNoWindow = true;p.StartInfo.UseShellExecute = false;p.Start();      }//kill掉一个进程private void OnApplicationQuit(){if(p != null){p.Kill();Console.WriteLine("进程关闭成功!");}}
}

3、原理:

Process.Kill 方法:

  • 命名空间:System.Diagnostics程序集:System.Diagnostics.Process.dll
  • Kill方法强制终止进程。
  • Kill方法以异步方式执行。 调用方法后 Kill ,调用 WaitForExit 方法以等待进程退出,或检查 HasExited 属性以确定进程是否已退出。
  • 如果调用,则由进程编辑的数据或分配给进程的资源可能会丢失 KillKill 导致异常的进程终止,只应在必要时使用。 CloseMainWindow 启用进程的有序终止,并关闭所有窗口,因此更适合使用接口的应用程序。 如果 CloseMainWindow 失败,可使用 Kill 终止进程。 Kill 是终止没有图形界面的进程的唯一方法。

例外

  • Win32Exception
  • 无法终止相关联的进程。
  • NotSupportedException
  • 你正尝试为远程计算机上运行的进程调用 Kill()。 该方法仅对本地计算机上运行的进程可用。
  • InvalidOperationException
  • 没有与此 Process 对象关联的进程。

C#--使用Process类kill进程相关推荐

  1. Python Process类开启多层级进程杀不死问题解决(从父进程杀死子进程)

    Python Process类开启多层级进程杀不死问题 问题描述 问题分析 解决方案 问题描述 在使用python multiprocess包下的Process打开子进程,并在打开的子进程中再打开一个 ...

  2. java实现进程管理,Java调用批处理或可执行文件和Runtime、Process类实现Java版进程管理器...

    Java调用批处理或可执行文件 用Java编写应用时,有时需要在程序中调用另一个现成的可执行程序或系统命令,这时可以通过组合使用Java提供的Runtime类和Process类的方法实现.下面是一种比 ...

  3. python 多进程 调用模块内函数_进程创建fork()和multiprocessing模块Process类

    一.进程VS程序 一个人穿上军装去打仗就是战士,战士需要武器.战场等资源.一个人去种田就是农民,农民需要土地.锄头等资源. 编写完毕的代码,安静的呆在磁盘上,称之为程序.代码要运行就得加载到内存,正在 ...

  4. kill 进程_Node.js 进程平滑离场剖析

    使用 Node.js 搭建 HTTP Server 已是司空见惯的事.在生产环境中,Node 进程平滑重启直接关系到服务的可靠性,它的重要性不容我们忽视.既然是平滑重启,就涉及到新旧进程的接替过渡: ...

  5. process 类 java_编写可执行jar——java的Process类的使用(二)

    你知道怎么在控制台使用ping吗?那你知道怎么在java中使用ping吗? 1.批处理文件 批处理文件大家一定不陌生.接触最多的应该就是tomcat中的start.bat或者start.sh了.bat ...

  6. 34 进程 pid ppid 并发与并行,阻塞与非阻塞 join函数 process对象 孤儿进程与僵尸进程...

    进程与程序 一个正在被运行的程序就称之为进程,是程序具体执行过程,一种抽象概念 进程来自于操作系统 多进程:多个正在运行的程序. 测试: import timewhile True: time.sle ...

  7. Java Process类的浅学习

    Java Process类的浅学习 文章分类:Java编程 今天用了下java.lang.Process类,只是初步的学习,并没有深入实践,因为感觉它的用途并不是很大,偶尔才可能用上,如果要经常使用它 ...

  8. Runtime类与Process类

    package jinchen.cn;/** Runtime类除了观察内存使用量外,可以直接使用runtime 类运行本机的可执行程序* Process exec(String command) 在单 ...

  9. process java类_Java中Process类的用途是什么?

    Java.lang.Process是Object类的子类,可以描述由Runtime类的exec()方法启动的进程. 进程和对象控制进程并获取有关该进程的信息. Process类是抽象类,因此无法实例化 ...

最新文章

  1. Confd+Consul 配置文件动态生成
  2. php跨域cookie共享使用方法
  3. adc0808温度换算公式_温湿度传感器的三种模拟量换算关系
  4. 服务器虚拟机网卡怎么配置文件,VMWARE复制虚拟机之后,需重新配置网卡(CENTOS 6)...
  5. php 我已阅读并同意 判断,phb.php
  6. [转]ColorMatrixFilter--颜色矩阵滤镜
  7. 华为云苏光牛:生态建设是数据库产业发展非常重要的一环
  8. BZOJ4278 : [ONTAK2015]Tasowanie
  9. 强悍的命令行 —— 磁盘空间的查看与磁盘空间的释放
  10. C# 委托与事件(delegate)
  11. 将csv文件存入mysql数据库_将csv文件导入到mysql数据库
  12. DIV+CSS两种盒子模型
  13. 新浪微博开放平台php sdk,新浪微博开放平台
  14. Tomcat: Error starting child 原因以及处理方法
  15. Python数据分析(五) —— 绘制直方图
  16. PR标题动画模板 创意动态多行标题注释字幕条pr模板
  17. 图文并茂详细教程之-- 用pixhawk飞控组装一台F450四轴无人机(下)
  18. hibernate级联操 同时向2张表插入数据(一对多的关联,一个简单的例子说明)
  19. 星星之火可以燎原,“鲲鹏生态之城”启示录
  20. Oracle CBO RBO

热门文章

  1. PHP梯度计算金额,数字图像的梯度概念以及计算(the gradient of the image)
  2. 【Spark】Spark基础教程
  3. 合理运用计算机技术学校,浅议在学校管理中计算机技术合理应用
  4. RSA非对称加密传输---前端加密解密(VUE项目)
  5. Jmeter基础系列4-创建一个HTTP请求实例
  6. Android挂载系统分区执行mount和remount
  7. PyQt5基本控件详解之QTextEdit(五)
  8. leetcode-1786
  9. Oracle错误:ORA-01400
  10. Python 在windows上跑图色脚本?简单又好玩,自己编写一个自动化脚本