Можно ли получить список запущенных процессов с помощью апплета? - PullRequest
3 голосов
/ 11 июня 2010

Я бы хотел получить список запущенных процессов с использованием Java-апплета, запущенного в браузере.Насколько я понимаю, пока апплет подписан, он сможет получать эту информацию.Это точно?Возможно ли это с неподписанным апплетом?Наконец, есть ли апплеты FOS, на которые я мог бы взглянуть?

Спасибо.

Ответы [ 2 ]

3 голосов
/ 11 июня 2010

Апплету необходимо подписать всякий раз, когда он хочет получить доступ / выполнить локальных системных ресурсов. Это включает выполнение Runtime#exec() или ProcessBuilder, которое требуется для получения списка запущенных процессов.

Вы можете найти здесь базовый пример того, как получить этот список в Windows. Я бы посоветовал проверить if (System.getProperty("os.name").startsWith("win")), прежде чем продолжить.

Перенос данного примера в апплет не так сложен, просто позвольте классу расширить JApplet и выполнить весь код изнутри AccessController#doPrivileged().

Что касается подписания апплета, вы можете либо подписать его вручную , конечному пользователю будет выдано только предупреждение системы безопасности с подтверждением, выполнять его или нет, или вы можете разрешить его подпись третьим лицом компания для некоторых $$$, например VeriSign , таким образом, конечный пользователь не будет сталкиваться с предупреждением безопасности. Отказ от подписи приведет к тому, что апплет вообще не сможет работать.

0 голосов
/ 11 июня 2010

Вам придется выполнять специфичные для ОС команды (через Runtime.getRuntime().exec), например tasklist.exe для Windows и ps для Unix-подобных систем.

Что касается мер безопасности, я почти уверен, что это невозможно в стандартной «песочнице», но «привилегированный» апплет может это сделать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...