in reply to Re^4: Running detached processes with Activeperl under IIS
in thread Running detached processes with Activeperl under IIS
still waits for the console application t
Well that's fishy. It can't be detached from and attached to the console at the same time.
Why does Windows have to be such a pita?
You have to close the handles and muck with process groups and signals in unix. No easier.
There are valid complaints against Microsoft and Windows (parameter passing to processes, as a related example), but mind the baseless bashing. DETACHED_PROCESS works fine, and there's nothing complicated about it.
# launcher.pl use strict; use warnings; use Win32; use Win32::Process; sub ErrorReport{ return Win32::FormatMessage( Win32::GetLastError() ); } my $detached = $ARGV[0]; unlink('foo'); Win32::Process::Create( my $ProcessObj, "c:\\progs\\perl5100\\bin\\perl.exe", q{perl.exe -le"sleep 5; open $fh, '>foo' or die $!; print 'done'"}, 0, NORMAL_PRIORITY_CLASS | ($detached ? DETACHED_PROCESS : 0), '.', ) or die ErrorReport();
>perl -e"print `perl launcher.pl 0`" & dir /b foo [waits 5 seconds] done foo >perl -e"print `perl launcher.pl 1`" & dir /b foo [returns immediately] File Not Found >perl -e"sleep 5" & dir /b foo foo
Are you using use strict;?
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^6: Running detached processes with Activeperl under IIS
by Jules (Initiate) on May 12, 2009 at 16:47 UTC | |
|
Re^6: Running detached processes with Activeperl under IIS
by BrowserUk (Patriarch) on May 13, 2009 at 02:45 UTC | |
by ikegami (Patriarch) on May 13, 2009 at 18:01 UTC |