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

经验总结

假如有一个定时器TimerTest.java
import java.io.IOException;
import java.util.Timer;

public class TimerTest {
   public static void main(String[] args){
      Timer timer = new Timer();
      timer.schedule(new MyTask(), 1000, 2000);//在1秒后执行此任务,每次间隔2秒,如果传递一个Data参数,就可以在某个固定的时间执行这个任务.

    }
  }
}

static class MyTask extends java.util.TimerTask{

    @Override
    public void run() {
        System.out.println("Hello AlvinQQ");
    }
}

}


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

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

Timer.sh脚本如下:

#! /bin/sh

cd /usr/etc/

java TimerTest


保存并退出

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

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



你可能感兴趣的:(java,linux,脚本)