2012-12-10 21 views
5

szukam sposób, jak rozpocząć proces z pytony subprocess modułu z niskim priorytetem systemu, już znaleziono:Rozpoczęcie procesu potomnego z ograniczoną priorytetu

Nie ma żadnej wzmianki o priority w subprocess manual.

Mam już rozwiązanie, które wydaje się działać:

self.start_low_priority = ('cmd', '/c', 'start', '/MIN', '/LOW', '/B', '/WAIT') 

UWAGA:przełączniki /B /WAIT musi być w tym celu, aby to zadziałało

i używać go jako:

args = self.start_low_priority + ('foo.exe', 'bar', 'foobar') 
subprocess.call(args, shell=False) 

Ale to rozwiązanie nie wydaje się być prawo i clean w ay Plus Process Explorer jest w stanie zbudować poprawne „drzewo procesów” z aplikacji zaczął tak (więc nie masz zdolność do przetwarzania drzewa kill).

Czy jest jakiś dobry sposób na wykonanie , aby zrobić to dla systemu Windows? Czy Python nie zapewnia rozwiązania wieloplatformowego dla tego, co przegapiłem?

Odpowiedz

4

Można użyć biblioteki psutil. W szczególności można ustawić priorytet ustawienia psutil.Process.nice na żądaną wartość.

Zobacz także this odpowiedź dla przykładu.


Edit: Patrząc na dokumentacji psutil „s zachodzącego Process.nice bezpośrednio jest przestarzała, należy użyć Process.nice(value) zamiast.

Powiązane problemy