Dari man renice
:
Pengguna selain pengguna super hanya dapat mengubah prioritas proses yang mereka miliki, dan hanya dapat secara monoton meningkatkan `` nilai bagus '' (untuk alasan keamanan) dalam kisaran 0 hingga PRIO_MAX (20) [...]
Jadi, saya bisa renice
memproses sendiri ke atas (memberi mereka prioritas lebih rendah) tetapi tidak pernah ke bawah:
$ renice 10 22316
22316 (process ID) old priority 0, new priority 10
$ renice 9 22316
renice: failed to set priority for 22316 (process ID): Permission denied
Kenapa ini? Saya dapat memahami mengapa pengguna normal tidak dapat menetapkan nilai bagus lebih rendah dari 0, tetapi mengapa karena saya dapat mengurangi prioritas menjadi 10, saya tidak dapat meningkatkannya lagi menjadi 9? Apa "alasan keamanan" yang ada untuk ini? Saya memiliki hak untuk meluncurkan proses dengan nilai bagus 9, jadi mengapa saya tidak bisa mengubahnya menjadi 9?
EDIT: Saya harus belajar gulir ke bawah. Ternyata ini terdaftar sebagai bug di man renice
:
BUGS
Non super-users can not increase scheduling priorities of their own
processes, even if they were the ones that decreased the priorities
in the first place.
Itu bahkan lebih membingungkan. Jika mereka menganggap perilaku ini sebagai bug, mengapa tidak mengubahnya? The renice
perintah muncul di 4.0BSD yang saya pikir adalah dari 1980. Ini harus sangat mudah untuk memperbaiki sehingga di satu sisi mereka tampaknya telah memilih untuk meninggalkannya dan di sisi lain mereka daftar sebagai bug.