Como executar um processo em Groovy
14/08/2009 00:00
0
A classe String do Groovy possui o método execute que executa o conteúdo da String como um comando. Assim,

"notepad.exe".execute()

abre o notepad no Windows e

"ls -l | wc -l".execute() conta a quantidade de arquivos do diretório corrente da aplicação no Linux.

Obviamente, o comando é dependente de Sistema Operacional.
Tags: Snippets


0
boa. não sabia deste método!


0
Esse método é bem bacana, porém deveras perigoso.

Ele por trás usa a implementação java:

Runtime.getRuntime().exec("....")


E isso faz com que a JVM atual para rodar este comando, faça um FORK no processo atual e crie outro processo no SO.
Este processo criado herda naturalmente as configurações do processo original (no caso, a JVM que está rodando a app).

Estas confgurações herdadas incluem configurações de SO e MEMÓRIA, ou seja, se você tem uma app que é iniciada com 1024MB (1 giga) de XMS e XMX, ao criar um simples comando deste:

"ls".execute()


seu SO irá criar um pid com MAIS UM GIGA de ram alocado para ele. Muito complicada esta questão e deve ser usada com cautela.

Se a máquina não estiver com recursos para isso, pode sentir o peso.
16/09/2010 00:00



Ainda não faz parte da comunidade???

Para se registrar, clique aqui.


Aprenda Groovy e Grails com a Formação itexto!

Newsletter Semana Groovy

Assinar

Envie seu link!


Livro de Grails


/dev/All

Os melhores blogs de TI (e em português) em um único lugar!

 
Creative Commons
RSS Grails Brasil é mantido por itexto Consultoria.
Em caso de problemas contacte Henrique Lobo Weissmann (Kico) por e-mail: kico@itexto.com.br
Todo o conteúdo presente neste site adota o Creative Commons como licença padrão.
Ver: 4.14.0
itexto