Получить номер процессора из запущенной Java-программы

Я запускаю Java-программу и хочу получить процессор, на котором сейчас запущен процесс. Есть ли в Java стандартный способ получить это?

Мой план резервного копирования - запустить что-то вроде ps -eF чтобы получить процессор для моего текущего процесса, но это кажется уродливым

1 ответ

Решение

Данные, которые вы ищете, не статические, а динамические и, на мой взгляд, в идеале должны быть частью Java java.lang.Thread класс, где вызов метода похож на этот Thread.currentThread().getCPUNumber() должен дать вам эту деталь.

Java должна защищать определенные системные вызовы ОС и предоставлять эти данные на уровне API.

Насколько я знаю, на ваш вопрос НЕТ ответа - есть ли в java какой-нибудь стандартный способ получить это? поскольку эти данные являются динамическими, а ОС - планировщиком потоков, они не могут быть частью System.getProperty(...) ИЛИ ЖЕ System.getenv(..) ИЛИ ЖЕ Runtime.getRuntime().,

Я предполагаю, что, как предлагается в этих SO-вопросах, вы должны делать системные системные вызовы изнутри вашего Java-потока - Q1, Q2.

Надеюсь, поможет!!

Другие вопросы по тегам