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。
    
    
    
    
  • 相关阅读:
    常用软件
    树和二叉树的一些基本术语
    二分查找(Binary Search)
    GPIO模拟IIC接口信号质量分析
    PAT (Basic Level) Practise:1021. 个位数统计
    PAT (Basic Level) Practise:1017. A除以B
    PAT (Basic Level) Practise:1027. 打印沙漏
    文件操作:输出文件二进制数据
    阈值与平滑处理
    图像基本操作
  • 原文地址:https://www.cnblogs.com/birdshover/p/1644267.html
Copyright © 2011-2022 走看看