Получить номер процессора из запущенной 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.
Надеюсь, поможет!!