Windows中有与Unix Shell的“ exec”等效的东西吗?基本上,我需要避免派生一个新进程,以便保留输入/输出管道以及进程ID。
编辑:
所以,这是我的问题。我有一个启动脚本的进程A,此脚本通过执行进程B结束。我需要A来获取B的所有输出,并能够通过杀死它产生的进程来杀死B(脚本) 。
在Unix上,执行B可以exec
完成这项工作。
没有等效的功能,至少没有使用标准的Windows命令和程序。
—
John Gardeniers
如果您要运行的是可执行文件,而不是其他批处理文件,则没有(受支持的/现实的)方法。但是,输入/输出管道通常由在批处理文件中运行的应用程序继承。如果您可以描述为什么要这样做,我们可能会建议其他方法。
—
哈里·约翰斯顿
进程A应该已经获取了B的所有输出,除非脚本覆盖了它。这不行吗?
—
哈里·约翰斯顿
可以使用Win32 API安排子进程在父进程执行时死掉,但是没有内置的命令行选项AFAIK。如果我提供了一些源代码(适用于Visual C ++),您可以构建它吗?
—
哈里·约翰斯顿
@Harry我正在从Java派生脚本,因此,如果想法是让进程A使用该Win32 API,尽管我对此表示感谢,但恐怕不太可能。最好只是解释一下这是不可能的,我将接受它作为答案。
—
Daniel C. Sobral