отказ от fork()

Статус: Offline
Реєстрація: 18.03.2009
Повідом.: 1423
отказ от fork()

как процесс в *nix может сделать так, чтобы он не смог вызвать fork()?
 
Написать перехватчик системного вызова.
 
Это не наш метод. Более гуманного способа нету?
 
не знаю как ты собрался запрещать системный вызов, не влезая в ядро.
 
В никсах есть средства для дропанья привилегий (например man capabilities, man setrlimit)
Я ж это не глобально хочу сделать, а персонально для процесса
 
Хочешь сказать, что на системный вызов (генерацию прерывания) можно поставить запрет?
 
Останнє редагування:
Хочешь сказать, что на системный вызов (генерацию прерывания) можно поставить запрет?

Требовалось сделать так чтобы процесс не мог сделать fork(). Вариант когда fork() возвращает EAGAIN естественно тоже годится.

генерация прерывания млин...

я просто не допер сразу что RLIMIT_NPROC действует только на fork, но не на setuid. тоесть если сразу после setuid делать setrlimit(RLIMIT_NPROC, 1); тогда ОС не даст ему форкнуться. никогда. мухахаха

спасибо за внимание
 
ну разве, что через такую хитрозакрученную жопу.

ERRORS
EAGAIN The uid does not match the current uid and uid brings process over its RLIMIT_NPROC resource limit.

eyeland, для запущенного процесса один хер придется в ядро лезть.
 
Останнє редагування:
хитрозакрученная жопа это лезть в ядро

RLIMIT_NPROC
The maximum number of processes (or, more precisely on Linux, threads) that can be created for the real user ID of the calling process. Upon encountering this limit, fork(2) fails with the error EAGAIN.

во фряшном мане написано более скупо. и да, на фре тоже должно работать.

для запущенного и не нужно, нужно для текущего. И да, он сам будет добровольно такое делать
 
Назад
Зверху Знизу