Linux non segue (ancora) lo standard POSIX.1 che afferma che un renice
processo on influisce su "tutti i thread dell'ambito del sistema nel processo", perché secondo il documento pthreads (7) "i thread non condividono un buon valore comune".
Tuttavia, a volte, può essere conveniente renice
"tutto" relativo a un determinato processo (un esempio potrebbe essere rappresentato dai processi figlio di Apache e da tutti i loro thread). Così,
- come posso
renice
tutti i thread appartenenti a un determinato processo? - come posso
renice
tutti i processi figlio appartenenti a un determinato processo?
Sto cercando una soluzione abbastanza semplice.
So che i gruppi di processi a volte possono essere utili, tuttavia, non sempre corrispondono a ciò che voglio fare: possono includere un insieme più ampio o diverso di processi.
Anche l'uso di un cgroup
gestito da systemd
potrebbe essere utile, ma anche se sono interessato a sentirlo, cerco principalmente una soluzione "standard".
EDIT: inoltre, man (7) pthreads
dice "tutti i thread in un processo sono inseriti nello stesso gruppo di thread; tutti i membri di un gruppo di thread condividono lo stesso PID". Quindi, è anche possibile renice
qualcosa che non ha il proprio PID?
man (7) pthreads
dice dell'attuale implementazione (NPTL): "tutti i thread in un processo sono collocati nello stesso gruppo di thread; tutti i membri di un gruppo di thread condividono lo stesso PID" e "I thread non condividono un valore comune". Quindi, come puoi rinominare un thread che non ha il proprio PID, quandorenice
usa un PID per farlo?