高分求解!请问类似tomcat服务器的启动关闭是怎样实现?
请问类似tomcat服务器的启动关闭是怎样实现?
具体需求:
启动一个程序后(java xxx),就让它在一直运行(Unix下是作为后台程序运行)。
然后可以通过(java xxx -stop)就把刚才启动的进程给关掉(考虑有两种方法,一个是让刚才那个程序的循环条件不再为真,程序正常退出;一种是强制kill掉刚才的进程,估计需要调用本地方法吧,不知道tomcat到底是怎么实现)。
附上tomcat3的启动退出命令:
启动:
java -Dtomcat.home="%TOMCAT_HOME%" org.apache.tomcat.startup.Tomcat
退出:
java -Dtomcat.home="%TOMCAT_HOME%" org.apache.tomcat.startup.Tomcat -stop
都是运行同一个类,只是运行参数不同就能达到启动关闭的效果。
我尝试过定一个static的boolean类型的类变量作为循环的条件,如果运行这个程序时,没有加参数我就进入循环;若接着加上stop参数运行该类,我就把这个类变量设为false,希望这样就能使前面那个类的循环条件不再成立而执行完成退出。但结果却发现,虽然是类变量,但是新开的dos窗口中运行的程序对类变量所作的修改根本不能作用到另外一个窗口正在运行的类,感觉有俩个窗口,就有俩套jvm在作用一样,因此采用static的变量来做开关好像也不行。
哪位高手能给点提示到底怎样实现,或是有原码贴出都不尽感激。。。。。。