Q:

¿Comandos equivalentes a `nice` y `cpulimit`para windows 7?

Quiero limitar el acceso de mis programas a los recursos del equipo para evitar que se quede colgado y así poder seguir trabajando en otras cuestiones mientras se ejecutan los programas en un segundo plano.
Estoy buscando una forma genérica de hacerlo independientemente de cómo sean mis scripts.
He visto que para quienes trabajan sobre Linux existen las opciones nice y cpulimit, pero yo trabajo sobre win7 (cambiar a Linux no es una opción ya que no soy yo quien decide la configuración del pc que uso).
¿Qué opciones tengo trabajando sobre windows para lograr un resultado equivalente a nice y cpulimit en win7?

A:

He desarrollado una función a partir de varios ejemplos que he visto en diferentes webs.
Se puede utilizar indistintamente si trabajas sobre Windows o sobre Linux.
Además, he implementado la opción de poder establecer el nivel de prioridad a traves de los parámetros pasados a la función, de modo que no solo se pueda reducir la prioridad, si no también incrementarla. El valor por defecto de los parámetros es aquel que corresponde a prioridad "normal"
import win32api
import win32process
import win32con
import sys
import os

def set_priority(win_n=2, py_n=0):
    """
    Establece la prioridad del proceso.
    Es independiente del sistema operativo.

    Parameters
    ----------
    win_n: int
        Determina el nivel de prioridad del proceso.
    py_n: int
        Determina el nivel de prioridad del proceso.
    """
    #
    # Determinamos el sistema operativo y la version.
    try:
        sys.getwindowsversion()
    except AttributeError:
        isWindows = False
    else:
        isWindows = True
    #
    if isWindows:
        # Almacenamos los diferentes niveles de prioridad en una lista.
        prior_classes = [win32process.IDLE_PRIORITY_CLASS,
                         win32process.BELOW_NORMAL_PRIORITY_CLASS,
                         win32process.NORMAL_PRIORITY_CLASS,
                         win32process.ABOVE_NORMAL_PRIORITY_CLASS,
                         win32process.HIGH_PRIORITY_CLASS,
                         win32process.REALTIME_PRIORITY_CLASS]
        # Obtenemos el identificador del proceso, del proceso de llamada.
        # https://msdn.microsoft.com/en-us/library/windows/desktop/ms683180(v=vs.85).aspx
        pid = win32api.GetCurrentProcessId()
        # Abre un objeto de un proceso local existente.
        # https://msdn.microsoft.com/es-es/library/windows/desktop/ms684320(v=vs.85).aspx
        handle = win32api.OpenProcess(win32con.PROCESS_ALL_ACCESS,
                                      True, pid)
        # Establecemos la prioridad del proceso.
        # https://msdn.microsoft.com/es-es/library/windows/desktop/ms686219(v=vs.85).aspx
        win32process.SetPriorityClass(handle, prior_classes(win_n))
    #
    else:
        os.nice(py_n)

EDIT:
Adjunto enlace a una web con otros ejemplos similares,

