2010-08-30 1 views
1

У меня есть программа, которую я создал на C, которая перезапустит мое приложение Java после работы в течение 2 часов.Процесс не может получить доступ к файлу, потому что он используется другим процессом

Прежде всего, я бегу мой Java программы, используя пакетный файл,

@echo off 
java -server -Xmx1024m -Xbootclasspath/p:"bin;" website.Server >>C:\web_logs\console.log 

Он работает прекрасно, но после 2-х часов до Я использую Runtime.getRuntime(); в Java для чистого подготовленного перезапуска; для выполнения моей программы C «Restarter.exe». Restart.exe убивает процесс java, а также убивает процесс cmd (я убил командный процесс, потому что не был уверен, почему он продолжает говорить: «... процесс не может получить доступ к файлу ... используется другим процессом».

И он отлично работает, если я не использую окна регистрации «>>» после моих аргументов.

Это просто, когда я пытаюсь войти в консоль, он не перезагружается. У меня много отладки в консоли и в командной строке Windows можно так много помнить, поэтому я использовал «>>» для входа в файл и чтения позже. Я не хочу регистрировать файл через java, потому что это то, t необходимо сделать, если я использую компьютер с окнами.

Итак, мой вопрос заключается в том, как я могу все еще регистрировать консоль с помощью «>>» после моих аргументов, чтобы она все еще перезагружалась? Он продолжает говорить, что этот процесс используется, но я думал, что убил его, убив java и cmd? Что я могу сделать, чтобы исправить это или завершить процесс, чтобы я мог разобрать один и тот же файл?

Спасибо.

ответ

2

Я рекомендую установить Process Explorer, и когда вы получите это сообщение об ошибке, используйте функцию «Найти дескриптор» и посмотрите, какой процесс держит дескриптор этого файла.

Post back!

+2

Я пробовал это сделать, и я не уверен, что я делаю неправильно, но после того, как он говорит, что он используется другим процессом, он сразу заканчивается, я не уверен, как его отслеживать: – Kyle

Смежные вопросы

 Смежные вопросы