У меня есть приложение, которое сохраняет свои данные в виде «рабочих файлов» XML, которые содержат списки гораздо больших файлов .tif, которые содержат фактические необработанные данные, которые генерирует приложение. Как правило, пользователь приложения заботится только о местонахождении файла задания XML: если он будет перемещен или переименован, список файлов .tif останется действительным, поскольку полный путь к ним (который часто будет на удаленном диске) выделенный для этой цели) записывается внутри файла таким образом, что является прозрачным для пользователя. При таком подходе размер рабочего файла может быть небольшим, а не увеличиваться до десятков гигабайт.
Однако, если пользователь решает удалить файл задания из ОС (то есть из окна cmd или проводника Windows в Windows, или из оболочки bash или Nautilus в Linux), возникает опасность возникновения хаоса из-за связи между рабочий файл и данные его изображения были разорваны. Файлы изображений, связанные с файлом задания, будут «осиротевшими», более не доступны из приложения, но, тем не менее, по-прежнему занимают место на диске.
Было бы достаточно легко написать сценарий оболочки, который будет анализировать XML-файл, идентифицировать файлы изображений, которые перечислены в нем, и удалять их. Обеспечение того, чтобы этот сценарий оболочки запускался автоматически всякий раз, когда пользователь удаляет файл, решило бы мою проблему одним махом. Однако я абсолютно не представляю, как настроить ОС так, чтобы она запускала скрипт при удалении файла, либо в Windows, либо в Linux.
Есть ли способ сделать это?