Hello Monks
Here a small program "counter.pl" I want to run as child process.
#!/usr/bin/perl use strict; use warnings; $|=1; print "$_\n" and select(undef,undef,undef,0.1) for 1 .. 1000;
The following code is working:
#!/usr/bin/perl use strict; use warnings; use Win32::Process; use Win32; sub ErrorReport { print Win32::FormatMessage( Win32::GetLastError() ); } my $ProcessObj; Win32::Process::Create($ProcessObj, "C:\\Perl\\bin\\perl.exe", "perl counter.pl", 1, CREATE_NEW_PROCESS_GROUP, ".")|| die ErrorReport(); $ProcessObj->Suspend(); sleep(1); $ProcessObj->Resume(); sleep(1); $ProcessObj->Suspend(); sleep(1); $ProcessObj->Resume(); sleep(3); $ProcessObj->Kill(0);
The process is running for a second. Then suspended, then running again for 3 seconds and then killed.
Now I made an exe out of "counter.pl" as follows:
pp -o counter.exe counter.plAnd now I am calling the "counter.exe".
#!/usr/bin/perl use strict; use warnings; use Win32::Process; use Win32; sub ErrorReport { print Win32::FormatMessage( Win32::GetLastError() ); } my $ProcessObj; Win32::Process::Create($ProcessObj, ".\\counter.exe", "counter", 1, CREATE_NEW_PROCESS_GROUP, ".")|| die ErrorReport(); $ProcessObj->Suspend(); sleep(1); $ProcessObj->Resume(); sleep(1); $ProcessObj->Suspend(); sleep(1); $ProcessObj->Resume(); sleep(3); $ProcessObj->Kill(0);
But the code is not working anymore. The process is NOT suspended, NOT resumed and NOT killed.
Why???
Is Win32::Process NOT working with a binary file created by "pp" or am I doing something wrong?
Thank you for your help.
Dirk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |