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。
    
    
    
    
  • 相关阅读:
    消息摘要技术(MD5)
    编写JsonResult封装JSON返回值(模板参阅)
    JS面向对象编程(进阶理解)
    markdown常用语法教程
    Spring-MVC请求参数值和向页面传值
    Spring-MVC开发步骤(入门配置)
    Live Templates快捷键模板
    压力测试中java.net.BindException: Address already in use: connect
    jmeter初始化工作
    xshell配色
  • 原文地址:https://www.cnblogs.com/birdshover/p/1644267.html
Copyright © 2011-2022 走看看