Sign up ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I have a Windows service (the Bamboo integration server) that runs a batch file as a subprocess (a build job) of that script. Within that batch file I would like to be able to start a process (let's call it workerprocess.exe) and have that process run in the background. This is all good, I've used:

start "title" /B workerprocess.exe

That is all well and good. The problem is that this then holds up the completion of the build job. So the batch script finishes, but because of the workerprocess.exe subprocess, the service (Bamboo) does not know that it has finished: it still waits for (and displays output from) the workerprocess.exe.

I've looked in the documentation for the start command, and I can't see anything that does what I want. I saw this question but it didn't really help either - the service still ends up waiting for the process to finish.

So I guess in summary: how can I run a new process from a batch script so that it is completely detached and won't hold up anything that happens to be waiting for that batch script to complete.

share|improve this question
Have you tried it without the "/B" parameter so that it doesn't start the process within the same command window? – Josh Sep 5 '13 at 2:52
@JoshR, that changed things. The service no longer receives output from the process, but is still blocked by it. – Jack Scott Sep 5 '13 at 3:02

2 Answers 2

up vote 1 down vote accepted

Have you tried Hidden Start (HSTART)?

I use it personally to run an hourly batch job with the window hidden. They also mention that you can run commands sequentially as a parameter (or by default, I assume) run asynchronously. I don't know how this will affect your contention on CPU, memory, or disk... but the software also gives you the option to wait some time before performing the action.

share|improve this answer
Thanks, this worked a treat! – Jack Scott Sep 9 '13 at 0:47

All linked scripts can be downloaded and saved with whatever name you find convenient.

1) The IEXPRESS solution - as arguments accepts only the command and its arguments.

Example usage:

call IEXPhidden.bat "cmd /c myBat.bat"  "argument"

2) SCHTASKS - Again accepts only two arguments - the command and the arguments.Also checks if it's started with elevated permissions and if possible gets the PID of the process with WEVTUTIL command.

Example usage:

call SCHPhidden.bat "cmd /c myBat.bat"  "argument"

3) 'WScript.Shell' - the script is full wrapper of 'WScript.Shell' and every possible option can be set through the command line options.It's a jscript/batch hybrid and can be called as a bat.

Example usage (for more info print the help with '-h'):

call ShellRunJS.bat "notepad.exe" -style 0 -wait no 

4) 'Win32_ProcessStartup' - again full wrapper and all options are accessible through the command line arguments.This time it's WSF/batch hybrid with some Jscript and some VBScript pieces of code - but it returns the PID of the started process.If process id not hidden some options like X/Y coordinates can be used.

Example usage (for more info print the help with '-h'):

call win32process.bat "notepad" -arguments "/A openFile.txt"  -showWindows 0 -title "notepad"

5) The .NET solution . Most of the options of ProcessStartInfo options are used (but at the end I was too tired to include everything).Should return the PID but it does not:

Example usage (for more info print the help with '-h'):

call ProcessStartJS.bat "notepad" -arguments "/A openFile.txt"  -style Hidden -directory "." -title "notepad" -priority Normal
share|improve this answer
The link is not found – rahilwazir Oct 14 at 10:18
@rahilwazir - edited. – npocmaka Oct 14 at 10:23
Thanks, that was quick – rahilwazir Oct 14 at 10:24

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.