System.getRuntime().exec() x Jmagick

Eu estou usando Jmagick, que é uma interface para comunicar com o aplicativo ImageMagick, no Tomcat. Só que dá muito problema ele para de funcionar do nada. Mas quando é um aplicativo Java, sem estar num conteiner Web, o Jmagick roda regularmanete.
Então pensei criar um .bat ou um shell para um servlet dentro do tomcat executar estes arquivos, mas ai que ta a duvida, como faço para System.getRuntime().exec() executar eles?
Preciso da solução em Windows e Linux.

Vlw mesmo!

Depois de instalado o ImageMagick e o JMagick experimente colocar o jmagick.jar na instalação do java\lib\ext.
Para o Windows coloque também a jmagick.dll e para o Linux todas as .so na mesma pasta.
Como o JMagick usa JNI (Java Native Interface) para fazer uma ponte para as libs, estando na mesma pasta funcionará em servlets no TOMCAT.
Experimentei configurar o jar no CLASSPATH e as libs no LD_LIBRARY_PATH mas não obtive sucesso.
Outro detalhe é que o JMagick para Linux ainda não foi compilado para 64 bits. Assim o Linux e o JAVA devem ser compatíveis com 32 bits.
Lembre-se que o ImageMagick também depende da instalação do ghostscript.

Mas se preferir pode executar diretamente a linha de comando do ImageMagick da seguinte forma:

[code]package magick.image.util;

import java.io.IOException;

public class CreateImage {

public static void main(String[] args) {

Runtime runtime = Runtime.getRuntime();
Process process = null;
StringBuffer command = new StringBuffer();

command.append("\"C:\\Program Files\\ImageMagick-6.4.3-Q16\\convert.exe\"");
command.append(" -size 320x85");
command.append(" xc:transparent");
command.append(" -font Arial-Bold");
command.append(" -pointsize 72");
command.append(" -draw \"text 25,60 \'Magick\'\"");
command.append(" -channel RGBA");
command.append(" -gaussian 0x6");
command.append(" -fill darkred");
command.append(" -stroke magenta");
command.append(" -draw \"text 20,55 \'Magick\'\"");
command.append(" fuzzy-magick.png");

try {
  process = runtime.exec(command.toString());
  process.waitFor();

} catch (IOException e) {
  System.err.println(e.getMessage());

} catch (InterruptedException e) {
  System.err.println(e.getMessage());

} finally {
  runtime = null;
  process = null;
}

}
}[/code]
Espero ter ajudado.
[]'s