我正在用 perl 编写一个函数,它将杀死一个给定其 PID 的进程。
sub ShutPidForWindows()
{
require Win32::Process;
$PID = 1234;
$count = 0;
$ReturnStatus = 0;
$ExitCode = 0 ;
if ($PID == 0)
{
return ($ReturnStatus);
}
Win32::Process::KillProcess($PID, $ExitCode);
print "PID = ".$PID."\n";
print "Return Code = ".$ExitCode."\n";
if ($ExitCode)
{
$ReturnStatus = 1;
}
else
{
$ReturnStatus = 2;
}
return ($ReturnStatus);
}
当这个函数被执行时,它总是返回2
。即使进程1234
不存在。
我得到的 o/p 是:
PID = 1234
Return Code = 0
Perl Doc 说这ExitCode
将由进程返回的退出代码填充。那么ExitCode
应该是1
。
我做错什么了吗?