Para evitar que sudo peça uma senha, edite o arquivo sudoers com visudo :
sudo visudo -f /etc/sudoers.d/shutdown
Isso criará um novo arquivo no diretório /etc/sudoers.d/ , que será incluído, deixando seu arquivo sudoers original intacto.
Se seu usuário for chamado myuser e seu host for chamado de myhost , você poderá adicionar essas linhas
myuser myhost = (root) NOPASSWD: /sbin/shutdown
myuser myhost = (root) NOPASSWD: /sbin/reboot
Salve suas alterações e experimente.
Além disso, você não deve fazer e.printStackTrace() , mas usar um criador de logs.