$chiproc=fork();
if ($chiproc==0) { system("runsomething"); }
if ($chiproc!=0) { sleep(10); kill 9,$chiproc; }
This kills the forked process, but it does nothing to "runsomething" that it created.
Requires Free Membership to View
When you register, my team of editors will also send you resources covering Linux administration and management; integration and interoperability between Linux, Windows and Unix; securing Linux and mixed-platform environments; and migrating to Linux.
Margie Semilof, Editorial Director
To do that just use exec() instead of system(). It overwrites the current process with a new program. It's documented in the perlfunc(1) manual page, and in exec(2). fork() and exec() used as a pair in this way is a very common idiom.
This was first published in June 2004