Pregunta

En Windows que puede hacer:

HANDLE hCurrentProcess = GetCurrentProcess();

SetPriorityClass(hCurrentProcess, ABOVE_NORMAL_PRIORITY_CLASS);

¿Cómo puedo hacer lo mismo en *nix?

¿Fue útil?

Solución

Probar:

#include <sys/time.h>
#include <sys/resource.h>

int main(){
    setpriority(PRIO_PROCESS, 0, -20);
}

Tenga en cuenta que usted debe ejecutar como superusuario para que esto funcione.

(para más información, escriba 'hombre setpriority' en un símbolo del sistema.)

Otros consejos

Si hacer algo como esto en unix tu quieres (como root) chmod tarea y establecer el bit s.A continuación, puede cambiar lo que están ejecutando, lo que su prioridad es, el subproceso de programación, etc.en tiempo de ejecución.

Es genial como siempre y cuando usted no está escribiendo una masiva aplicación multiproceso con un error en él de modo que usted toma más de un 48 de la CPU, y nadie puede cerrar abajo porque tiene cada una de las CPU de girar al 100% con todo el conjunto de hilos para SHED_FIFO (se ejecuta hasta el final) se ejecuta como root.

Nah ..Yo no estaría hablando desde la experiencia ....

@ allain

Puede usted bajar su propio proceso de' prioridad sin ser superusuario?

Seguro.Sin embargo, sea consciente de que esta es una calle de sentido único.Usted no puede incluso volver a donde comenzó.Y hasta muy pequeñas reducciones en la prioridad puede tener sorprendentemente grandes efectos en tiempo de ejecución cuando hay una carga importante en el sistema.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top