c++ - cmd.exe 关闭时进程在 Windows 上终止?
问题描述
我有一个程序(我们称之为 prog1.exe)启动另一个程序(我们称之为 prog2.exe):
// in prog1.exe:
boost::process::spawn("prog2.exe", ...);
如果我启动 cmd.exe:
C:\>
然后运行 prog1.exe:
C:\> prog1.exe
然后:
- prog1.exe 开始运行
- prog1.exe 启动 prog2.exe 并且 prog2.exe 开始运行
- prog1.exe 成功完成。
- prog2.exe 继续运行。
如果我在 prog2.exe 仍在运行时关闭 cmd.exe,它将在 prog2.exe 完成之前终止它。
为什么会这样?为什么 prog1.exe 结尾不会终止 prog2.exe,而 cmd.exe 结尾不会终止 prog2.exe ?
有什么办法可以使关闭 cmd.exe 不会终止 prog2.exe?
解决方案
推荐阅读
- android - Android Studio:AbMob Banner 不会在片段中的 webview 下方显示
- c++ - C++ 对象作为 Objective-C++ 属性
- python - 使用python在IRC中发送消息的麻烦
- xml - XML Spec 是否定义在自闭合斜杠之前有空格是非法的?
- python - 在 Python 3 中解码 ASCII 字符串
- azure - Azure API:向不同租户中的用户授予权限
- java - 从arraylist调用方法读取的每个循环的Java
- tensorflow - 在 Datalab 上安装 tensorflow_transform 和 apache_beam
- sql - 显示、修改和存储数据的最佳方式?
- eclipse - Eclipse RCP/RAP 从 Kepler 到 Oxygen 的变化