…to com um probleminha, tenho uma aplicação que necessita em um dado momento que um processo esteja rodando (ATIVO) no servidor, toda vez que o servidor PARA eu preciso entrar la na mão (no caso do WINDOS iniciar —> executar) e chamar
// no arquivo teste.bat voce escreve o comando que quer executar
String path = Utils.getPath()+"\teste.bat"; //Utils.getPath() retorna o caminho completo da aplicação.
Process proc = Runtime.getRuntime().exec("rundll32 SHELL32.DLL,ShellExec_RunDLL cmd /c \""+path+"\"");
Vc cria os processos a partir de chamadas a dlls do sistema.
Neste caso as dlls que estão na linha de comando servem para criar o processo e chamar o console do DOS respectivamente.
inicializa um processo do OpenOffice que a partir desse momento fica rodando, com isso posso usar minha aplicação (em modo debug/desenvolvimento) pois a mesma necessita desse processo para executar algumas tarefas, atá ai blz, no entanto meu Servidor (produção) usa o Windows Server 2003 EE , e la a execução do mesmo comando não funciona, o mapeamento do PATH p/ variáveis de ambiente esta igual, mas o processo não é inicializado, pelo que sei chamada a Windows é tudo igual, mas no Server não ta funcionando, sabe se tem alguma configuração de segurança no SERVER pra rodar esse tipo de comando via Runtime ???
Derrepente poder ter algum problema de restrição de segurança, mas não sei te dizer não, só usei essa chamada em windows xp.
Pode ser tb que a chamada ao console seja feita de outra forma, daí vc tem que pesquisar na api do windows em questão.
…cara consegui resolver , realmente era um problema de permissão, mas não exclusivamente do Win 2003 Server e sim do tomCat …existem algumas operações que em um ambiente de produção (deploy) vem por padrão bloqueadas, uma delas e a operação envonvendo Runtime, pra habilitar esse tipo de operação deve-se configurar o arquivo catalina.policy no diretório CONF do TomCat … mais informações a aqui: http://tomcat.apache.org/tomcat-5.5-doc/security-manager-howto.html