linux下执行java类(运行java定时器)

假如有一个定时器TimerTest.java 

Java代码  收藏代码
  1. import java.io.IOException;  
  2. import java.util.Timer;  
  3.   
  4. public class TimerTest {  
  5.    public static void main(String[] args){  
  6.       Timer timer = new Timer();  
  7.       timer.schedule(new MyTask(), 1000, 2000);//在1秒后执行此任务,每次间隔2秒,如果传递一个Data参数,就可以在某个固定的时间执行这个任务.  
  8.   
  9.     }  
  10.   }  
  11. }  
  12.   
  13. static class MyTask extends java.util.TimerTask{  
  14.   
  15.     @Override  
  16.     public void run() {  
  17.         System.out.println("Hello AlvinQQ");  
  18.     }  
  19. }  
  20.   
  21. }  



此类所在linux的usr/etc/TimerTest.class 

如果直接用命令运行: 
cd usr/etc/java TimerTest & 
虽然定时器能够定时启动,并一直运行,但当你退出终端SecureCRT后,定时器便停止运行。 
这个问题很是让我头痛,后来想到通过运行shell脚本来启动定时器,便解决了。 

Timer.sh脚本如下: 

Java代码  收藏代码
  1. #! /bin/sh  
  2.   
  3. cd /usr/etc/  
  4.   
  5. java TimerTest  



保存并退出 

然后运行Timer.sh(sh ./Timer.sh) 
第一次执行shell.sh可能没有执行权限 
需要赋权 chmod +x Timer.sh 
如果报错:: bad interpreter: 没有那个文件或目录 
则把Timer.sh删除,重新建一个就可以了 

通过这种方式定时器就能一直在后台运行 

原文地址:https://www.cnblogs.com/daishiwen/p/7885796.html