| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 25/04/2005 10:51:29
|
Rodrigo Vieira Pinto
JavaEvangelist
![[Avatar]](/images/avatar/e7e69cdf28f8ce6b69b4e1853ee21bab.jpg)
Membro desde: 15/07/2004 11:05:05
Mensagens: 354
Localização: São Paulo
Offline
|
Olá pessoal
Como faço para desligar o linux usando java? Para desligar, tentei:
Runtime.getRuntime().exec("shutdown -h now");
e tentei também:
Runtime.getRuntime.exec("sudo shutdown -h now");
mas não deu certo. Não gera exceção e muito menos erro.
Alguém poderia ajudar?
Lembrando que é uma aplicação standalone (não é um servidor) e usa interface gráfica.
Valeu!!
|
"Ser o segundo é ser o primeiro dos perdedores" - Ayrton Senna
"Eu vou dá 10 pau!!" - Aracy de Almeida
Nova dupla sertaneja: Waterfall e Procedural. Pra começar, é sertanejo (ARGH!)
"Bem, dizia eu que a aritmética..." - Prof. Girafales
 |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 25/04/2005 11:41:26
|
cv
Moderador
![[Avatar]](/images/avatar/210f760a89db30aa72ca258a3483cc7f.jpg)
Membro desde: 04/04/2003 00:32:12
Mensagens: 7842
Localização: São Paulo, SP
Offline
|
Voce esta rodando o programa como root?
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 25/04/2005 11:43:38
|
thingol
Moderador
Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline
|
1) shutdown está no seu path? Tente com este comando (no meu caso, estou logado como um usuário comum, não root)
Mesmo que você use "/sbin/shutdown", não deve adiantar se você for um usuário comum.
2) Se você estiver usando o "sudo", já que você deve ser um usuário comum, você deve estar ciente que ele solicita a sua senha. Então é mais difícil que simplesmente dar esse comando Runtime.getRuntime().exec(), já que você precisa configurar também a entrada-padrão para poder jogar a senha. Não cheguei a fazer isso, mas basta procurar um pouco.
This message was edited 1 time. Last update was at 25/04/2005 11:45:46
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 25/04/2005 11:53:03
|
Rodrigo Vieira Pinto
JavaEvangelist
![[Avatar]](/images/avatar/e7e69cdf28f8ce6b69b4e1853ee21bab.jpg)
Membro desde: 15/07/2004 11:05:05
Mensagens: 354
Localização: São Paulo
Offline
|
Então, como root funciona, mas não gostaria de dar permissão de root ao usuário. Quero apenas que o usuário possa desligar o sistema usando um botão do meu aplicativo. Sem precisar acessar o menu do KDE para fazer isso.
|
"Ser o segundo é ser o primeiro dos perdedores" - Ayrton Senna
"Eu vou dá 10 pau!!" - Aracy de Almeida
Nova dupla sertaneja: Waterfall e Procedural. Pra começar, é sertanejo (ARGH!)
"Bem, dizia eu que a aritmética..." - Prof. Girafales
 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 25/04/2005 13:06:53
|
thingol
Moderador
Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline
|
Então use o sudo mesmo, mas é necessário procurar um pouco para ver como é que se usam as rotinas 'getInputStream' e 'getOutputStream' com um processo que requer resposta de senha, como é o caso do sudo. Alguém já deve ter feito isso.
Dê uma olhada neste código - dei uma busca no Google com 'sudo getInputStream getOutputStream', não sei se esse código funciona.
http://www.caside.lancs.ac.uk/bt/RunShellCmd.java
This message was edited 1 time. Last update was at 25/04/2005 13:08:25
|
|
|
 |
|
|