The socket approach looks like it will do the trick. Thanks. On Sun, Jun 1, 2008 at 1:21 PM, Sean Luke <[log in to unmask]> wrote: > You'd need to implement it yourself. Another approach you could do is have > it listen on a port and flag a variable to inform you that you should die > when an accept occurs. Maybe create a thread like this: > > public boolean pleaseDie = false; > public void makeKill() > { > Thread t = new Thread(new Runnable() > { > public void run() > { > StreamSocket sock = new StreamSocket(5000); > sock.accept(); > pleaseDie = true; // don't bother to synchronize > } > }); > t.start(); > } > > Then to die you could just do: > > telnet localhost 5000 > > Another approach you could use is to interrupt the control-c signal in > Unix. Java can't trap signals by default. But googling for "Java signals" > gives lots of stuff on how to handle it using JNI. Not a happy approach, > but... > > Sean > > > > On Jun 1, 2008, at 12:36 PM, Shane wrote: > > Okay. Is there an external way to send a running ecj process a message to >> stop? >> >> Here is an simple example of how I could do this: >> I could have ecj poll periodically for a file named "stop.txt" on the >> filesytem and if it exists, it would call Evolve.cleanup(state) and >> System.exit(0). Then anytime I want to stop ecj, I just create the stop >> file and then delete it after ecj has stopped. >> >> Is there currently a way to stop ecj using a similar technique or do I >> need to implement this myself? Also, if I need to do this myself, can you >> think of a better way to do it than the example above? >> >