LINUX.ORG.RU

Ответ на: комментарий от vilfred

Вы предлагаете постоянно увждую секунду смотеть список процессов? А если родитель успеет форкнутся, потом умереть, его потом форкнется, а потом умрёт?

anonymous
()
Ответ на: комментарий от jek_

jek_ wrote:
>
> ptrace, PTRACE_SYSCALL

так нужно будет за всеми вызовами следить.

лучше PTRACE_O_TRACEFORK, notification придет
именно при fork().

idle ★★★★★
()
Ответ на: комментарий от idle

ptrace, вообще говоря, не ПОЗИКС, и вообще сильноспецифично: тормозит, и изначально для дебаггеров придумывалось...

Если потомков немного, то я обычно прокидываю сигнальный пайп перед форком и прошу потомка туда писАть, когда надо (например, после форка). Папа следит селектами и в курсе всех событий. А если еще поставить close-on-exec на пайп, то можно надежно отловить, когда потомок (удачно) сделает exec().

Конечно, это сложно и СИНхронно, но зато стандартно и надежно.

Die-Hard ★★★★★
()
Ответ на: комментарий от idle

2idle: клёво, а я даже не знал о PTRACE_O_TRACEFORK

Но этот ключ, насколько могу судить, появился только в ветке 2.5,
а именно, в версии 2.5.46... Т.е. ШИБКО уж нестандартный.

jek_
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.