web-dev-qa-db-fra.com

Permettre aux utilisateurs de définir des niveaux plus élevés (plus bas?) Nice

Je veux permettre aux utilisateurs de définir un Nicelevel inférieur à 0 (et n'importe quel niveau Nice vraiment) dans mon système. Je teste en me reconnectant en tant qu'utilisateur du groupe d'utilisateurs concerné après avoir défini la modification et en essayant:

Nice -n -18 sleep 1

Ce qui continue de produire le message:

Nice: cannot set niceness: Permission denied

Je vérifie également ulimit -a qui ne change pas après avoir enregistré mes modifications dans limits.conf.

J'ai essayé de lire certains résultats de Google. Et est venu avec cela dans mon /etc/security/limits.conf:

@mygroup   soft    Nice    -20
@mygroup   hard    Nice    18

J'ai aussi essayé l'inverse, puisque Nice est inversé (donc hard -20 et soft 18), ce qui n'a pas fonctionné.

Comme certains résultats de Google l'ont suggéré, je me suis assuré que la ligne:

session    required   pam_limits.so

N'est pas commenté dans mon /etc/pam.d/login fichier (ce n'était pas quand j'ai vérifié pour la première fois).

Des suggestions sur la façon d'activer cela?

J'utilise Ubuntu 12.04 précis.

2
Reut Sharabani

J'ai fini par lancer un serveur avec lequel je pouvais jouer plus et j'ai essayé plus de combinaisons. Je ne pouvais pas faire jouer hard ou soft à Nice (vous l'avez compris?), J'ai donc essayé - et cela a fonctionné. J'ai également confirmé avec Ubuntu 14.04 fidèle.

J'ai pensé - définit des limites strictes et:

 @mygroup   -    Nice    -20

Cela fonctionne une fois que vous vous connectez et vous déconnectez. Vous ne verrez aucune entrée concernant Nice dans ulimit -a. Ce que vous devriez rechercher, c'est:

scheduling priority             (-e) 40

Ce que Nice plus tard traitera probablement comme [-20 19]. La valeur par défaut de cette entrée est 0.

L'utilisation de dash semble activer n'importe quelle priorité. Donc, si quelqu'un peut faire fonctionner hard et soft, déposez un commentaire ou une réponse. Merci.

3
Reut Sharabani