zoukankan      html  css  js  c++  java
  • java开发守护进程

    其实就是想开发个Windows下系统服务一样的程序。而查了好久资料,没找到java如何开发linux的守护进程。用C语言开发感觉太麻烦了,何况还要嵌入业务。使用Servlet的话也行,但是需要额外安装tomcat。

    经过一天实验,终于发现,原来这么简单!

    先来段简单代码,每隔5秒更新job.log文件。用来测试一下。

    import java.io.BufferedWriter;
    import java.io.File;
    import java.io.FileWriter;
    import java.io.IOException;
    import java.util.Date;
    
    
    public class Program {
    
    	/**
    	 * @param args
    	 */
    	public static void main(String[] args) {
    		File f = new File("/home/xieping/job.log");
    		if (!f.exists()) {
    			try {
    				f.createNewFile();
    			} catch (IOException e) {
    				e.printStackTrace();
    			}
    		}
    		while (true) {
    			try {
    				BufferedWriter output = new BufferedWriter(new FileWriter(f));
    				output.write(new Date().toString());
    				output.close();
    			} catch (IOException e1) {
    				e1.printStackTrace();
    			}
    			try {
    				Thread.sleep(1000 * 5);
    			} catch (InterruptedException e) {
    				e.printStackTrace();
    			}
    		}
    	}
    }
    打包,我是用eclipse打包的,导出个jar包就行了。
    把文件放到/home/xieping/目录下。文件名 job.jar。
    开始设置为守护进程了!!
    #java -jar job.jar &
    简单吧,就加一个&符号。可以查看下
    #ps aux|grep job
    看到了,果然启动了。
    #more /home/xieping/job.log
    文件的时间也一直换。
    注意,在开多线程的情况下,进程可能无法终止。
    #killall java  或者 #kill 进程ID 无效。需要强制终止。
    #kill -9 进程ID。
    
    
    
    
  • 相关阅读:
    避免陷阱,重写Equals方法您需要注意的其中2个原则
    lucene入门资源汇总
    lucene vs zoie
    实时搜索的五个开源解决方案
    常用的数据标准化方法
    使用lucene实现社会化搜索
    openquery跨服务器传输数据
    错误:5061,ALTER DATABASE 失败
    Errore HTTP 404.2 Not Found
    DevExpress ASP.NET ASPxGridView使用方法大全
  • 原文地址:https://www.cnblogs.com/birdshover/p/1644267.html
Copyright © 2011-2022 走看看