是否有Windows CMD相当于Unix shell的exec?

前端之家收集整理的这篇文章主要介绍了是否有Windows CMD相当于Unix shell的exec?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
Windows中有没有与Unix Shell的“exec”相同的东西?基本上,我需要避免分支新进程,以便保留输入/输出管道以及进程ID.

编辑:

所以,这是我的问题.我有一个启动脚本的进程A,这个脚本以执行进程B结束.我需要A来获取B的所有输出,并且能够通过杀死它产生的进程来杀死B(脚本) .

在Unix上,用exec执行B可以完成这项工作.

AFAIK没有. Windows缺少execv(),这就是bash exec的工作方式. call用于调用批处理文件(简单,只需解释当前解释器中的文件,类似于bash的.命令),但不适用于exes.

这使得无法为Windows上的任何语言的脚本编写单行封装脚本.你会一直得到“终止批处理工作吗?”在Ctrl C上废弃并杀死批处理进程(不是使用Ctrl C,来自任务管理器说)不会终止子进程.我现在正在寻找一个C模板文件来完成这个包装.

更新:Windows在MSVCRT的POSIX兼容层中确实有_execv(),但AFAIK(尚未测试过)它只是CreateProcess的一个包装器,所以它总是会创建一个新进程,它不能取代当前进程.

原文链接:https://www.f2er.com/windows/370185.html

猜你在找的Windows相关文章