Какой предпочтительный способ заблокировать базу данных Metakit из TCL?
В основном у меня есть приложение, которое читает / пишет из файла базы данных Metakit, и я беспокоюсь, что если у пользователя есть два экземплярамое приложение работает, они могут повредить базу данных (выполнив две записи одновременно).
Я знаю, что мог бы использовать сокеты для связи между экземплярами, но я бы предпочел, чтобы это не конфликтовало с существующим программным обеспечением.на ПК.Я также думал об использовании файла блокировки, но в случае сбоя процесса база данных будет заблокирована навсегда.Я знаю, что в UNIX обычно записывают PID в файл блокировки, но я не знаю, как определить, выполняется ли процесс все еще в кросс-платформенном режиме.Моя основная цель - Windows.
Я не совсем против добавления некоторого нативного кода (скомпилированного двоичного кода C), но подумал, что сначала может быть лучший способ чистого TCL.
Спасибо!