I understood from your answer, perhaps wrongly, that Windstone does not exit after shutdown, but what I want is just a simple stop script that causes winstone to shutdown and exit. I don't care about the exit method, I just want JVM to terminate. If WinstoneControl does that, then fine, I don't need anything more from it. But I thought that it did not do that, this is why I asked you about adding that.

Now I am not sure how it works, and I can't test it because, after running Winstone and then WinstoneControl, I get that:

[Winstone 2006/05/05 09:41:02] - Connecting to localhost:8081
Exception in thread "main" java.net.ConnectException: Connection refused
        at java.net.PlainSocketImpl.socketConnect(Native Method)
        at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
        at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
        at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
        at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
        at java.net.Socket.connect(Socket.java:516)
        at java.net.Socket.connect(Socket.java:466)
        at java.net.Socket.<init>(Socket.java:366)
        at java.net.Socket.<init>(Socket.java:179)
        at winstone.tools.WinstoneControl.main(WinstoneControl.java:74)

and Winstone does not terminate at all.