是否有Windows CMD相当于Unix shell的exec?
发布时间:2020-12-13 19:42:00 所属栏目:Windows 来源:网络整理
导读:Windows中有没有与Unix Shell的“exec”相同的东西?基本上,我需要避免分支新进程,以便保留输入/输出管道以及进程ID. 编辑: 所以,这是我的问题.我有一个启动脚本的进程A,这个脚本以执行进程B结束.我需要A来获取B的所有输出,并且能够通过杀死它产生的进程来
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的一个包装器,所以它总是会创建一个新进程,它不能取代当前进程. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
- windows-phone-7 – 无法使用MacBook Pro将xap部
- Microsoft.Reporting.* vs XML/XSLT
- 如何使用autohotkey在Windows 10中模拟超级密钥
- windows-server-2008 – 制作我所有的Windows服务
- windows-server-2008 – Active Directory:Serv
- 使用.NET Compact Framework 3.5在Windows CE设备
- 软件将Windows通知事件日志发送到linux syslog服
- Windows Azure AppFabric访问控制服务(ACS)中的O
- win10安装Redis方法以及基本配置
- Windows – IIS6虚拟SMTP服务器在系统重新启动后
热点阅读