Parar um processo

Tou a tentar fazer um programa que converta imagens de DICOM para png, montar essas imagens num pdf e imprimir…
O problema é que quando faço a chamada ao sistema para converter as imagens ele as bloqueia e não me deixa carrega-las… alguem me pode dar uma ajuda…
o código é o seguinte:(falta a parte da impressão mas não interessa)

public class DicomConverter {

private static Process process;



public static void main(String[] args) throws IOException {
    //execução do programa que converte as imagens DICOM para png
    process= Runtime.getRuntime().exec("dicom2 -p *.dcm");
    DicomConverter job = new DicomConverter();
    //process.destroy();
    job.convert();
}


public void convert(){
    
    Document document = new Document();
    int cont=0;
    //contagem do numero de ficheiros .dcm na directoria
    String dir = "c://convert//DICOM";
    File directory = new File(dir);
    String[] files = directory.list();
    for (int k = 0; k < files.length; k++){
        if(files[k].matches(".*dcm")){
            cont++;
        }
    }
    
    try {
        
        //criação do documento .pdf
        PdfWriter.getInstance(document, new FileOutputStream("c://convert//DICOM.pdf"));
        
        // abertura do ducumento
        document.open();
        
        // inserção das imagens
        for (int i=1; i<=cont; i++){
            //"carrega" a imagem
            Image img = Image.getInstance("teste"+i+".dcm.png");
            //dimensiona para 290x227 px
            img.scaleAbsolute(290,227);
            //verificação da posição
            int j= i%6;
            //posicionamento
            switch (j){
                case 1: img.setAbsolutePosition(5,560);break;
                case 2: img.setAbsolutePosition(300,560);break;
                case 3: img.setAbsolutePosition(5,323);break;
                case 4: img.setAbsolutePosition(300,323);break;
                case 5: img.setAbsolutePosition(5,86);break;
                case 0: img.setAbsolutePosition(300,86);break;
            }
            document.add(img);
            //à sexta imagem acrescenta uma página
            if(j==0){
                document.newPage();
            }
        }
    } catch(DocumentException de) {
        System.err.println(de.getMessage());
    } catch(IOException ioe) {
        System.err.println(ioe.getMessage());
    }
    
    // fechar documento
    document.close();
    
    try {
        printer bp = null;
        bp = new printer("c://convert//DICOM.pdf", null);
        bp.waitForDone();
   
        
    } catch (Exception e) {
        e.printStackTrace();
    }
}