日期:2014-05-20  浏览次数:20758 次

服务器关机时怎样将程序中的数据写入到硬盘中
java程序 linux服务器

------解决方案--------------------
这个问题要看你的程序如何处理退出了,正常退出可以使用信号量。
Java code

package core.test;

import org.apache.log4j.Logger;

import sun.misc.Signal;
import sun.misc.SignalHandler;

public class SignalHandlerTest {
    public static void main(String... args) throws Exception {
        final Logger log = Logger.getLogger(SignalHandlerTest.class);
        SignalHandler handler = new SignalHandler() {
            public void handle(Signal signal) {
                log.info(signal.getName());
                System.exit(-1);
            }
        };
        Signal.handle(new Signal("TERM"), handler);//相当于kill -15
        Signal.handle(new Signal("INT"), handler);//相当于Ctrl+C
        for (;;) {
            Thread.sleep(1000);
        }
    }
}

------解决方案--------------------
探讨

恩,提示我了,应当搞两个服务器,一台运行,另一台监控,一旦发现另一台掉线,监控机立刻启动.
传输上使用tcp连接,运行的那台,不断把状态传到监控的那台去.
只要tcp一断,监控机立刻启动,充当运行机