windows系统processkill方法和close方法区别

网友投稿 1355 2022-05-30

process类有close和kill方法,两者的区别是kill是立即终止进程实体,相当于在进程管理器窗口中执行结束进程操作;但process组件/对象的进行信息还在,包括进程关闭时间等信息可以查看。 close方法是释放组件/对象资源。这时进程不一定终止,但当前操作的组件/对象资源却被释放,后续无法再访问。

所以,我们要执行一个类似于进程管理窗口中结束进程的操作,需要先通过GetProcessesByName获取到一个进程组件/对象,再通过kill方法终止其关联的进程实体,最后调用close释放组件资源。顺序不能反,否则close释放组件资源后,就无法访问和进程实体关联的资源,造成异常。

如果要优雅的关闭进程,就需要给进程发送一个事件/消息,进程内部做逻辑处理,判断收到结束事件/消息后进行相关处理终止及释放处理,再自己退出(exit)进程。

windows系统process的kill方法和close方法区别

MSDN关于几个方法的说明: GetProcessesByName(String) 创建新的 Process 组件的数组,并将它们与本地计算机上共享指定的进程名称的所有进程资源关联。 Start() 启动(或重用)此 Process 组件的 StartInfo 属性指定的进程资源,并将其与该组件关联。 Kill() 立即停止关联的进程。 Close() 释放与此组件关联的所有资源。

msdn process https://docs.microsoft.com/zh-cn/dotnet/api/system.diagnostics.process?view=netframework-4.8

Processing Windows

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Testin&云层天咨众测学院开课了!
下一篇:OBS权限配置实践--委托服务进行OBS访问
相关文章