Dan*_*ral 11 windows shell windows-command-prompt
Windows 中是否有与 Unix Shell 的“exec”等效的东西?基本上,我需要避免分叉新进程,以便保留输入/输出管道以及进程 ID。
编辑:
所以,这是我的问题。我有一个启动脚本的进程 A,该脚本通过执行进程 B 结束。我需要 A 获取 B 的所有输出,并且能够通过杀死它产生的进程(脚本)来杀死 B .
在 Unix 上,执行 B with 可以exec完成这项工作。
cap*_*apr 10
AFAIK 没有。Windows 缺少execv()bash exec 如何做到这一点。call适用于调用批处理文件(简单,只需在当前解释器中解释文件,类似于 bash 的.命令)但不适用于 exe。
这使得无法在 Windows 上为任何语言的脚本编写单行包装器脚本。你总是会得到“终止批处理作业?” 在 Ctrl+C 上废话并终止批处理(不是使用 Ctrl+C,来自任务管理器的说法)不会终止子进程。我现在正在寻找一个 C 模板文件来做这个包装。
更新:Windows_execv()在 MSVCRT 的 POSIX 兼容层中确实有,但 AFAIK(尚未对其进行测试)它只是一个包装器,CreateProcess因此它将始终创建一个新进程,它不能替换当前进程。
| 归档时间: |
|
| 查看次数: |
22179 次 |
| 最近记录: |