Я пишу веб-приложение для Windows. Это приложение состоит из двух или более файлов WAR.
Эти файлы WAR создают временные файлы при обработке.
Проблема
Проблема
h2>
При тестировании программы я обнаружил, что временный файл все еще остается и не удален. Я попытался удалить этот файл из проводника, но получил сообщение типа «Действие не может быть выполнено, поскольку файл открыт в «java.exe»».
Это очевидно. что один из WAR-файлов все еще открывает файл (поскольку в сообщении написано java.exe). Но на Tomcat есть два или более WAR, поэтому я не смог найти, какое приложение вызвало эту проблему.
Кроме того, эти приложения настолько сложны, что сложно разобраться, какой класс читает /пишет (
Справочная информация [list] [*]Я пишу веб-приложение для Windows. Это приложение состоит из двух или более файлов WAR. [*]Эти файлы WAR создают временные файлы при обработке. [/list] Проблема
Проблема
h2> [list] [*]При тестировании программы я обнаружил, что временный файл все еще остается и не удален. Я попытался удалить этот файл из проводника, но получил сообщение типа «Действие не может быть выполнено, поскольку файл открыт в «java.exe»». [*]Это очевидно. что один из WAR-файлов все еще открывает файл (поскольку в сообщении написано java.exe). Но на Tomcat есть два или более WAR, поэтому я не смог найти, какое приложение вызвало эту проблему. [*]Кроме того, эти приложения настолько сложны, что сложно разобраться, какой класс читает /пишет ([code]FileInputStream/FileOutputStream[/code], например) вот этот файл. [/list] Вопрос Начиная с пути к конкретному файл, есть ли способ узнать, какой экземпляр класса имеет файловый дескриптор ([code]FileInputStream/FileOutputStream[/code] файла? Метод, применимый без выключения Tomcat (например, jcmd), предпочтителен, поскольку другие WAR-файлы тестируются на том же Tomcat.
Я использую научное программное обеспечение, включая сценарий Python, вызывающий os.system(), который используется для запуска другой научной программы. Во время выполнения подпроцесса Python в какой-то момент печатает следующее:
Я пытаюсь разветвить несколько дочерних процессов на C и хочу, чтобы все они использовали один и тот же файловый дескриптор.
Насколько я понимаю, каждый дочерний процесс получает копия дескрипторов родительских файлов. Но когда дескриптор файла...