Выключение ПК из приложения Java

Я пытаюсь завершить работу своего компьютера с Ubuntu с помощью Java-приложения, но, похоже, ничего не происходит. Вот мой код:

Runtime runtime = Runtime.getRuntime();

try {
   Process proc = runtime.exec("sudo shutdown -h now");
}    
catch (IOException e) {
   e.printStackTrace();
}

Что мне не хватает?

0
задан 27 December 2013 в 23:56

2 ответа

Чтобы избежать того, что sudo запрашивает пароль, отредактируйте файл sudoers с помощью visudo:

sudo visudo -f /etc/sudoers.d/shutdown

Это создаст новый файл в каталоге /etc/sudoers.d/, который будет включен , оставив исходный файл sudoers без изменений.

Если ваш пользователь называется myuser, а ваш хост - myhost, вы можете добавить эти строки

myuser myhost = (root) NOPASSWD: /sbin/shutdown
myuser myhost = (root) NOPASSWD: /sbin/reboot

Сохраните изменения и опробуйте их.

Кроме того, вы не должны делать e.printStackTrace(), а использовать регистратор.

0
ответ дан 27 December 2013 в 23:56

sudo запрашивает пароль - вам необходимо предоставить его.

0
ответ дан 27 December 2013 в 23:56

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

Похожие вопросы: