So che i valori di gentilezza sono ereditati dal valore di gentilezza del processo genitore, ma posso cambiare globalmente il valore di gentilezza predefinito per un particolare utente (me stesso).
In questo caso ho in mente un piccolo server di convenienza, a cui si accede esclusivamente tramite ssh
. Quindi, penso che potrei cambiare la mia shell predefinita da /bin/bash
a /etc/bash5
mentre /etc/bash5
è questo script:
#!/bin/sh
nice -n 5 /bin/bash
#file privileges: root:root 755
Questo mi sembra un attacco terribile e soggetto a errori. Deve esserci un modo migliore.
Sono principalmente interessato a soluzioni generali, che si applicherebbero anche a un sistema desktop / laptop.
Modifica: ho provato la limits.conf
modifica suggerita , ma non funziona come previsto:
root@server# addgroup nice
root@server# adduser myself nice
root@server# echo '@nice soft nice 5' >> /etc/security/limits.conf
Quindi, dal mio computer client, dico
myself@client$ ssh server
myself@server$ sleep 1h &
myself@server$ htop
Ora, il sleep
processo ha un valore iniziale di gentilezza0
, ma se cambio il valore con F8
19 e poi provo a ridurlo di nuovo con F7
esso si ferma a5
.
Modifica2: soluzione
Invece di utilizzare l' nice
elemento in limits.conf
, devi effettivamente usarlo priority
sebbene sia controintuitivo.
@nice soft priority 5
bash5
approccio, ti do questo. Ma si rompe ancora se dico ssh myserver -- somecommand
no?
limits.conf
. A cosa serve il tuo output ps -o pid,nice,cmd
?
nice
.
renice -n 5
nel tuo~/.profile
?