I've read through several threads here, and tried various things to get this to work, but its just not working for me....
What I need, is for my cgi script running under IIS to call an executable file(VB.Net), and let it go....then forget about it. So basically, I want to kick off the exe, and finish loading the page without waiting for the exe to finish.
I'm pretty sure that's easiest done with a fork and exec unde *nix, but I can't get it to do the same under IIS. I have tried the following:
#running some cgi code... system(1, "D:/ipms/bin/Medicaid/Console/MedicaidEHRService 123456"); #continue cgi code....
#run all cgi code for the script exec("D:/ipms/bin/Medicaid/Console/MedicaidEHRService 123456");
#run all cgi code for the script exec("start 'D:/ipms/bin/Medicaid/Console/MedicaidEHRService 123456'") +;
#running some cgi code... Win32::Process::Create($child_proc, "D:/ipms/bin/Medicaid/Console/Medi +caidEHRService.exe", "MedicaidEHRService 123456", 0, "DETACHED_PROCES +S", ".") || print "Could not spawn child: $!"; #continue cgi code....
#running some cgi code... my $proc2 = Proc::Background->new("D:/ipms/bin/Medicaid/Console/Medica +idEHRService 123456"); #continue cgi code....
#run all cgi code for the script close(STDOUT); close(STDERR); close(STDIN); exec("D:/ipms/bin/Medicaid/Console/MedicaidEHRService 123456");
All but the last two wait for the exe to finish before completing the script...thus causing IIS to wait to serve the page until the script is run. The Proc::Background and close all buffers approach (the last two) seem to work to make IIS go ahead and serve the page, but the output file from the exe never gets written.
Any ideas on what I'm doing wrong?
In reply to Running detached processes with Activeperl under IIS by Jules
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |