¿Cómo cambiar de nombre por nombre de proceso?

4

Estoy intentando iniciar un proceso usando NICE, pero este proceso está iniciando otro proceso por sí mismo y no se ven afectados por la prioridad del proceso principal (el proceso principal tiene el valor correcto pero la prioridad del subproceso está configurada como predeterminada)

Así que estoy intentando cambiar el proceso mientras se ejecutan.
Lo intenté

 renice n -p $(pidof <process name>)

pero MacOS no lo reconoce (¿probablemente sea específico de Linux?) entonces como puedo hacer eso?

puedes encontrar una discusión relacionada aquí: link

gracias.

    
pregunta MSH 07.05.2015 - 20:31

2 respuestas

5

Puedes usar pgrep en lugar de pidof en OS X. Usando tu ejemplo anterior, lo siguiente debería funcionar:

renice n -p $(pgrep <process name>)

Dicho esto, un niño comenzó después de que se haya cambiado su prioridad al padre debería heredar la prioridad del padre.

    
respondido por el mjturner 07.05.2015 - 22:34
2

Hay varias respuestas correctas, aquí hay una respuesta que se adapta a tu línea de pensamiento.

Ejecutar este oneliner:

renice 10 -p $(ps -ax | grep -i [p]rocessname | awk 'NR==1{print $1}')

Lo que hace:

  • renice 10 , esto hará que su proceso se ejecute con la amabilidad de diez, más agradable, mayor será el número.
  • -p espera la identificación del proceso
  • ps -ax lista todos los procesos en ejecución con su nombre y PID
  • grep -i [p]rocessname solo compara los procesos con 'nombre de proceso', no distingue mayúsculas y minúsculas. los paréntesis evitarán que coincidan con el proceso grep .
  • awk 'NR==1{print $1}' buscará la primera instancia ( NR==1 ) de la primera columna ( $1 )

Ya dio un buen ejemplo de sustitución de comando .

    
respondido por el CousinCocaine 07.05.2015 - 22:33

Lea otras preguntas en las etiquetas