You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Anton Kovalenko e038742e18 Update README: purpose clarification 3 years ago Update README: purpose clarification 3 years ago
build.cmd Initial release 3 years ago
pij.c Initial release 3 years ago Initial release 3 years ago

PIJ - Run process tree in a job and wait for completion.


pij my-program.exe arguments...


Ensure the whole subtree of processes has completed before the batch file continues.

Let's assume that my-program.exe does something useful unattended, making it usable from batch files. However, its initial process just starts another process to do the real thing, and then exits, not waiting for that another process to finish. START /W won't help in this case, as it will return as soon as the initial process exits.

PIJ runs the whole subtree of processes-running-processes in a single job and waits for this job to become empty before exiting.

Result code (ERRORLEVEL)

PIJ terminates with non-zero exit code if there's some problem during initial process creation or waiting phase. Zero exit code is returned when the last process in the job exits.


All arguments are passed to CreateProcess'es lpCommandLine, hence some restrictions on what you can start: it should be a real EXE file (please start cmd.exe if you want to run another batch file), standard directories and PATH are used, registry AppPaths aren't.


Written by Anton Kovalenko My code is public domain. Uses some code by Raymond Chen.