wordpress   发布时间:2022-04-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了是否有Windows CMD相当于Unix shell的exec?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_450_2@

概述

Windows中有没有与Unix SHell的“exec”相同的东西?基本上,我需要避免分支新进程,以便保留输入/输出管道以及进程ID. 编辑: 所以,这是我的问题.我有一个启动脚本的进程A,这个脚本以执行进程B结束.我需要A来获取B的所有输出,并且能够通过杀死它产生的进程来杀死B(脚本) . 在Unix上,用exec执行B可以完成这项工作. AFAIK没有. Windows缺少execv(),这
@H_450_2@
@H_450_2@ @H_450_2@
Windows中有没有与Unix SHell的“exec”相同的东西?基本上,我需要避免分支新进程,以便保留输入/输出管道以及进程ID.

编辑:

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

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

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

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

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

@H_450_2@@H_450_2@

大佬总结

以上是大佬教程为你收集整理的是否有Windows CMD相当于Unix shell的exec?全部内容,希望文章能够帮你解决是否有Windows CMD相当于Unix shell的exec?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。