Jenkins cannot run exe batch commands

batch-filecmdexeJenkins

Ultimately trying to run some NUnit web tests, but I found that Jenkin's would stop before running the batch command path\to\nunit.exe. So I just tried running a new job that consists of a single build step: Execute Windows batch command C:\Windows\system32\calc.exe. Here is my console output:

Started by user anonymous

Building in workspace C:\Program Files (x86)\Jenkins\jobs\[my job]\workspace
[workspace] $ cmd /c call C:\Windows\TEMP\hudson8921839713501090632.bat

C:\Program Files (x86)\Jenkins\jobs\[my job]\workspace>C:\Windows\system32\calc.exe

and there it hangs until I cut if off. Needless to say, this command runs fine in command prompt. Also, commands that do not open new processes run fine (e.g. dir) in Jenkins. I don't know what the difference is between running batch commands in cmd.exe and running them through Jenkins. I cannot find any remotely relevant information with a google search of jenkins cannot open exe. Any advice is appreciated.

Edit:

While practicing Shiva's suggestion, I tried observing the running processes while I ran my Jenkins job. If I do not precede the command with start, then calc.exe does run but the interface does not display. Once I kill the jenkins job, calculator is killed as well. If I do include start, then everything is the same except the jenkins job finishes on its own and the calculator continues to run after the job is over. Here is the new log:

Started by user anonymous
Building in workspace C:\Program Files (x86)\Jenkins\jobs\First Job\workspace
[workspace] $ cmd /c call C:\Windows\TEMP\hudson8285328547956378876.bat

C:\Program Files (x86)\Jenkins\jobs\First Job\workspace>start C:\Windows\system32\calc.exe

C:\Program Files (x86)\Jenkins\jobs\First Job\workspace>exit 0
Process leaked file descriptors. See http://wiki.jenkins-ci.org/display/JENKINS/Spawning+processes+from+build for more information
Finished: SUCCESS

Although this is different behavior, I'm not sure that it offers further enlightenment. Why can I not interact with the running processes?

Possibly related:
Jenkins won't execute correctly a command from a .bat

Best Answer

You cannot open windows processes through Jenkins running as a service. You have to run Jenkins through the console command java -jar "C:\Program Files (x86)\Jenkins\jenkins.war" --httpPort=[your desired available port number]. Then, while Jenkins is running in your console, you should be able to access it in a browser at localhost:[your port number]. Now you may go forth and open calculators and whatever other executables you want.

https://wiki.jenkins-ci.org/display/JENKINS/Starting+and+Accessing+Jenkins