C#在一个进程中调用另一个进程后台进程IsBackground
来源:互联网 发布:linux vs qt 编辑:程序博客网 时间:2024/05/17 04:54
最近在做一个项目时,需要在一个进程中调用另一个进程,这里记录一下,
在msdn 上有一个简介,上面的介绍:https://msdn.microsoft.com/en-us/library/system.diagnostics.process.start(v=vs.110).aspx
是通过Process.Start方法,这个方法是一个重构的方法。
有时调用其他的进程可能调用不起来,这时可能还需要一句,来获取另一个进程的工作路径
Process proc = new Process();
string MainAppPath = "test.exe";//the path of the exe file
proc.StartInfo.FileName = MainAppPath;
proc.StartInfo.WorkingDirectory = Path.GetDirectoryName(MainAppPath);;
proc.Start();
string MainAppPath = "test.exe";//the path of the exe file
proc.StartInfo.FileName = MainAppPath;
proc.StartInfo.WorkingDirectory = Path.GetDirectoryName(MainAppPath);;
proc.Start();
参考链接:https://segmentfault.com/a/1190000003740834
虽然这样调用了另一个线程,但是如果想要把该线程给杀死了,但是由于我调用的那个线程里面的主线程又创建了几个线程,但是我虽然把主线程
给杀死了,但是那几个子线程并没有停止运行,后来在网上又继续百度了一下,是因为新开的线程的IsBackground属性没有设置为True,新建的线程
默认是FALSE,当主线程退出的时候,IsBackground=False的线程还会继续执行下去,直到线程执行结束,只有IsBackground=True的线程才会随着
主线程的退出而退出,当初始化一个线程的时候,把IsBackground设为True,指示该线程为后台线程,只有这样后台线程才会随着主线程的退出而退出
原理:只有所有前台线程都终止以后,CLR就会对每一个活动在后台的线程调用Abort()来彻底终止应用程序。
0 0
- C#在一个进程中调用另一个进程后台进程IsBackground
- 在一个进程中启动另一个进程---CreateProcess API
- 一个进程的输出结果在另一个进程中显示
- 在Unix/Linux中创建一个后台进程的步骤
- C# 一个进程调用另外一个进程并传入参数
- C# 杀掉后台进程
- C#关闭后台进程
- 一个进程去结束另一个进程
- 在 VB.NET 中实现后台进程
- qt进程编程的使用:一个程序中调用另一个程序
- c#进程调用
- c# 调用进程!
- UNIX中后台进程与守护进程
- UNIX中后台进程与守护进程
- UNIX中后台进程与守护进程
- C# 后台异步处理进程
- 开启一个进程C#
- 如何在一个进程中生成两个子进程?
- 进程间通信的方式
- zookeeper集群配置
- validForm结合layer制作表单验证提示
- STL各种容器使用总结
- 1、Spring初学入门教程
- C#在一个进程中调用另一个进程后台进程IsBackground
- Cryptdb学习笔记(3)——源码分析
- 13 关于端点和簇以及规范的补充
- 欢迎使用CSDN-markdown编辑器
- 基于级联卷积网络的由粗到精的大量人脸特征点定位
- 字体图标的制作
- Unity3d IEnumerator 协程的理解
- 1179
- ubuntu14.04下通过.frm, .MYD,.MYI文件恢复建立mysql数据库