|
ru.unix.bsd- RU.UNIX.BSD ------------------------------------------------------------------ From : Alex Masterov 2:5002/63.100 22 Aug 2005 10:26:00 To : Gleb Smirnoff Subject : Удаление открытого файла -------------------------------------------------------------------------------- Привет Gleb! Replying to a message of Gleb Smirnoff to Alex Masterov: GS> Это интересная задача. Вот одно из полурабочих решений: GS> ограничение таково, что программа должна держать файл открытым O_RDWR, GS> если же файл открыт на O_WRONLY, то спасти его не удастся. Общая идея GS> такова: GS> Hаписать программу, которая вызывается с одним аргументом, который GS> считает файловым дескриптором fd. Она делает lseek(fd,0), открывает GS> новый файл и записывает в него всё содержимое fd. Подцепиться GS> дебаггером к демону, и exec()нуть это программу, дав ей дескриптор GS> как аргумент. Hа случай если демон на свои декскрипторы ставит GS> FD_CLOEXEC, то вероятно придётся сделать dup(), либо убрать CLOEXEC. Идея в целом понятна. Спасибо! С уважением, Alex. --- FleetStreet 1.27.1 * Origin: Карфаген должен быть разрушен! (2:5002/63.100) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix.bsd/38264309b8d0.html, оценка из 5, голосов 10
|