ZXNet эхоконференция «zxnet.pc»


тема: вот где потенциальное место для багов



от: Aleksandr Majorov
кому: Kirill Frolov
дата: 27 Nov 2001
Привет Kirill!

26 Ноя 01 22:43, Kirill Frolov -> All:

KF> Есть у меня например скрипт. Скрипт вычисляет путём хитрых
KF> манипуляций какой PID ему надо прибить, ну и прибивает. А если,
KF> например, прибиваемый процесс в процессе вычисления его PID сдохнет

После того как PID вычислил запомни его, затем проверь
на наличие и тока тогда убивай ;)

KF> и зародится совсем другой процесс с таким-же PID ?
KF> Всё сглючит, из системного блока дым пойдёт и винты
KF> отформатируются.
KF> Как это обойти?

Скольки битный у тебя PID?
Минимум 16 бит == 65536 процессов.
В системе заведен счетчик "какой следующий PID можно выдать"
И этот счетчик работает только на инкремент.
Так что для того, чтобы получить процесс с таким-же PID
нужно запустить еще 65536 процессов.
(Хотя на самом деле меньше - минус количество уже запущенных ;)
Какова вероятность что у тебя между подсчетом PID и проверкой
его наличия и убивания запустится еще 65536 процессов - считай сам ;))

ЗЫ: то что я выше написал - это примерный ответ, который был дан мне.
КОгда меня заинтересовал именно твой вопрос ;)

Aleksand




Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
THEORY SHIT!
Твоя игра - редакция газеты "Абзац" и Perspective gruop объявляют конкурс компьютерных игр на ZX-Spectrum.
Поиск - поиск игр, программ.
Гости - экстремальщики: новая рубрика, освещающая аспекты жизни и творчества экстремальных рыбинских музыкантов. Сегодня в гостях Марат и Демон - стоявшие у истоков такой известной (в узких кругах) команды "Disgust".
CMOS-часы - Микросхема CMOS-часов для компьютера (схема включения).

В этот день...   27 апреля