| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Программирование под Unix/Linux > Как узнать что файл освобожден? |
| Автор: andrew_121 7.8.2009, 22:04 |
| Здравствуйте. Некий процесс создает файл, и записывает в него данные. Нужно узнать, что процесс прекратил записывать, и закрыл файл, без libevent и inotify. Спасибо. |
| Автор: ller 7.8.2009, 22:13 |
| Если файл твой, то может семофоры помогут? Добавлено через 35 секунд В смысле оба процесса написанны тобой |
| Автор: andrew_121 7.8.2009, 22:27 |
| Нет. Тот процесс что пишет в файл, не мой. |
| Автор: ller 7.8.2009, 23:40 |
| есть команда lsof можно рыть в этом направлении |
| Автор: andrew_121 7.8.2009, 23:48 |
Не знал. Спасибо, иду рыть |
| Автор: ller 7.8.2009, 23:51 |
| http://rus-linux.net/kos.php?name=papers/saha-processes-ru.html Можно еще тут почитать, но это как я понял только на локальной машине |
| Автор: andrew_121 8.8.2009, 00:37 |
| Гм... Один момент я упустил. Опишу всю задачу. Есть каталог, в него кладутся торрент файлы. Есть торрент-клиент(rTorrent). Он настроен таким образом, чтоб сканировать этот каталог на предмет появления в нем торрент-файла. Когда в этом каталоге появляется новы торрент-файл, клиент добавляет его в закачку. Так вот. Нужно чтоб каждая закачка(в не зивисимости от того что это(каталог с файлами или фалы без каталога)), закачивалась в созданный для нее каталог. Но, так как этого сделать не возможно не изменяя кодов клиента, я хотел скачивать контент во временный каталог, и по завершении закачки перемещать его в целевой каталог. Но тут проблемма. Если я контент переместил, то клиент не сможет найти его. Интересует мнение других людей. Спасибо! |
| Автор: vinick 8.8.2009, 08:03 |
| А если так сказать отделить мух от котлет. Пусть торрент-клиент качает все в один каталог, а вместо копирования в целевой каталог делать симлинки. Получится в одном месте помойка с которой будет работать торрент, а в другом человеческая структура на симлинках |