Come rinominare con il nome del processo?

4

Sto provando ad avviare un processo usando NICE, ma questo processo sta avviando un altro processo da solo e non sono influenzati dalla priorità del processo principale (il processo principale ha il bello corretto, ma la priorità del processo secondario è impostata su default)

Quindi sto cercando di ridefinire quei processi mentre sono in esecuzione.
Ho provato

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

ma non è riconosciuto da MacOS (probabilmente è linux specifico?) quindi come posso farlo?

puoi trovare una discussione correlata qui: link

Grazie.

    
posta MSH 07.05.2015 - 20:31
fonte

2 risposte

5

Puoi utilizzare pgrep anziché pidof su OS X. Usando il tuo esempio di prima, dovrebbe funzionare quanto segue:

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

Detto questo, un bambino è iniziato dopo che il genitore ha cambiato la priorità dovrebbe ereditare la priorità del genitore.

    
risposta data 07.05.2015 - 22:34
fonte
2

Ci sono più risposte corrette, qui una risposta si adatta al tuo modo di pensare.

Esegui questo oneliner:

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

Che cosa è:

  • renice 10 , questo renderà il tuo processo eseguito con una precisione di dieci, più bello, più alto sarà il numero.
  • -p si aspetta l'id del processo
  • ps -ax elenca tutti i processi in esecuzione con lì nome e PID
  • grep -i [p]rocessname corrisponde solo ai processi con 'processname', case insensitive. le parentesi impediranno di far corrispondere il processo grep stesso.
  • awk 'NR==1{print $1}' recupera la prima istanza ( NR==1 ) della prima colonna ( $1 )

Hai già fornito un buon esempio di sostituzione del comando .

    
risposta data 07.05.2015 - 22:33
fonte

Leggi altre domande sui tag