system("start $cmd1");
system("start $cmd2");
基本上,两个命令都会继续运行,直到我使用" CTRL + C"停止它们。
我的问题是:
如何发送" CTR + C"到每个Cmd行(或命令)?
谢谢。
答案 0 :(得分:0)
我认为你可以使用
my $pid = system(1, $cmd1);
# One of the following:
kill(INT => $pid); # Sends Ctrl-C
kill(TERM => $pid); # Sends Ctrl-Break
kill(KILL => $pid); # Calls TerminateProcess($handle, 9)
waitpid($pid, 0);
答案 1 :(得分:0)
我通过创建两个分离的进程来解决它。请参阅以下代码:`
use Win32::Process;
use Win32;
sub ErrorReport{
print Win32::FormatMessage( Win32::GetLastError() );
}
Win32::Process::Create($ProcessObj,
"C:\\winnt\\system32\\notepad.exe",
"notepad temp.txt",
0,
DETACHED_PROCESS,
".")|| die ErrorReport();
$ProcessObj->Suspend();
$ProcessObj->Resume();
$ProcessObj->Wait(INFINITE);
`