Я часто показываю jhat, jps, а инструмент jstack - для разработчиков на Linux и Mac. Однако недавно разработчик указал, что они непригодны для использования в Windows, если рассматриваемое приложение Java работает как служба Windows.
A Исправлена ошибка с ошибкой Sun, но она была закрыта из-за бездействия.
Я проверил это для себя, и действительно это кажется правдой, хотя я с трудом могу в это поверить. Вот настройка:
- Tomcat или аналогичный запуск в качестве службы Windows с функцией "Вход в систему" == "Локальная система"
- Пользователь с правами администратора, зарегистрированными на той же машине Windows.
- Администратор открывает Диспетчер задач Windows, может видеть, как работает java.exe
- Администратор открывает консоль, набирает "jps", возвращает список процессов, которые не включают в себя сервисный процесс Tomcat java.
- Как попытка грубой силы получить PID tomcat как службу из диспетчера задач Windows. Тип jstack <pid> . Получите ответ: <pid> нет такого процесса
Это выглядит воспроизводимым в Windows XP, Windows 2003 Server и Windows 7. Версии Java 1.5 и 1.6 дают тот же результат.
Есть ли способ от терминала, даже если он входит в систему как Admin, для "sudo up", чтобы получить JPS и другие инструменты для просмотра java-сервиса?