((Prim)processCompound).sfCompleteName())); }catch (RemoteException re) { Logger.log(re);  }
( (Prim) processCompound).sfCompleteName())); } catch (RemoteException re) { Logger.log(re);  } catch (Throwable thr) { Logger.log(thr); } } }else { Logger.log("sfDaemon killed!"); System.exit(0); }
    public static ProcessCompound deployProcessCompound()        throws Exception {        if (processCompound != null) {            return processCompound;        }        Signal.handle(new Signal("INT"), new SignalHandler () {            public void handle(Signal sig) {                try {                    Logger.log(                        "Going to terminate the daemon gracefully!!");                    processCompound.sfTerminate(new TerminationRecord(                                TerminationRecord.NORMAL,                                "sfDaemon forced to terminate ",                                 ((Prim)processCompound).sfCompleteName()));                }catch (RemoteException re) {                    Logger.log(re);                    //log and ignore                }            }        });        ComponentDescription descr = (ComponentDescription) getProcessCompoundDescription()                                                                .copy();        processCompound = (ProcessCompound) startComponent(deployComponent(                    descr));        return processCompound;    }