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。
    
    
    
    
  • 相关阅读:
    进制
    流程控制
    运算符
    格式化输出
    数据结构-树的遍历
    A1004 Counting Leaves (30分)
    A1106 Lowest Price in Supply Chain (25分)
    A1094 The Largest Generation (25分)
    A1090 Highest Price in Supply Chain (25分)
    A1079 Total Sales of Supply Chain (25分)
  • 原文地址:https://www.cnblogs.com/birdshover/p/1644267.html
Copyright © 2011-2022 走看看