
e-Dough
New User
Jan 27, 2009, 11:56 PM
Post #1 of 4
(8708 views)
|
Background child with pid on windows
|
Can't Post
|
|
Hi, I'm converting an existing Perl script from UNIX to Windows XP. This script calls another Perl script in the background using backticks and ampersand (`x_child.pl ... &`). The child script acts as a timeout check for the parent and will kill it if it's stuck for too long. Eventually, the parent will also kill the child script - using the shell's `ps -ef | grep x_child.pl ...` to locate the child's PID. I need to replicate this behaviour under windows but wasn't able to find the tools: 1. using 'system(1, "perl x_child.pl...")' the script runs in the background, but I can't get it's PID. 2. using 'tasklist' doesn't seem to get the program's arguments to enable identifying a specific instance, or even the script's name (only 'perl.exe'). 3. using 'open(GET_PID, "perl x_child.pl ...|")' I can communicate with the process and have it send back it's PID, but I can't have it run in the background. ('...' meaning script arguments) Any ideas ?
|