windows – 用perl处理退出代码> 255是否可行?
发布时间:2020-12-13 22:38:05 所属栏目:Windows 来源:网络整理
导读:首先,找一个关于退出代码 in perl( also here)和 on Windows的背景知识. 现在 – 当我在Windows上从perl脚本(我打开方法,qx / open / system / exec / IPC :: Run等)执行另一个进程时: 是否可以捕获0- 255范围之外的退出代码? 在Windows上,进程可以返回一
首先,找一个关于退出代码
in perl(
also here)和
on Windows的背景知识.
现在 – 当我在Windows上从perl脚本(我打开方法,qx / open / system / exec / IPC :: Run等)执行另一个进程时: 是否可以捕获0- 255范围之外的退出代码? 在Windows上,进程可以返回一个完整的(带符号的)32位退出代码,并且返回0x8 … 0 …,即某些COM错误代码或某些东西并不常见. 解决方法
是的,Win32::Process可以返回完整的带符号32位退出代码.使用GetExitCode方法.但它有点棘手,因为返回值不是退出代码(它是Windows
GetExitCodeProcess函数的返回值,表示函数的成功或失败).退出代码存储在传递给方法的变量中.
use Win32::Process; use Win32; sub ErrorReport{ print Win32::FormatMessage( Win32::GetLastError() ); } my $ProcessObj; Win32::Process::Create($ProcessObj,"C:winntsystem32notepad.exe","notepad temp.txt",NORMAL_PRIORITY_CLASS,".") or die ErrorReport(); $ProcessObj->Wait(INFINITE); my $exitCode; $ProcessObj->GetExitCode($exitCode) or die ErrorReport(); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- .net-4.0 – 使用CurrentDomain.SetData(“APP_CONFIG_FILE
- windows – 从%% i变量获取文件名
- 安装程序 – 安装项目不替换程序集文件
- 有没有一个温和的方式来停止进程使用Windows PowerShell?
- 适用于Windows的廉价网络监控工具
- Shared Event-loop for Same-Origin Windows(译)
- 在Windows 10中创建Hyper-V管理员组
- windows-server-2008-r2 – “无法打开服务器服务性能对象.
- windows-server-2008 – COM对象丢失凭据信息
- dll – LoadLibrary失败,找不到模块错误 – 可能存在依赖性