views:

609

answers:

1

I want to execute a cmd line tool to process data. It does not need to be blocking. I want it to be low priority. So i wrote the below

 Process app = new Process();
 app.StartInfo.FileName = @"bin\convert.exe";
 app.StartInfo.Arguments = TheArgs;
 app.PriorityClass = ProcessPriorityClass.BelowNormal;
 app.Start();

However i get a System.InvalidOperationException with the msg "No process is associated with this object." Why? how do i properly launch this app in low priority?

PS: Without the line app.PriorityClass = ProcessPriorityClass.BelowNormal; the app runs fine.

+7  A: 

Try setting the PriorityClass AFTER you start the process. Task Manager works this way, allowing you to set priority on a process that is already running.

Robert Harvey
Turns out this is the only way.
acidzombie24