假如有一个定时器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删除,重新建一个就可以了
通过这种方式定时器就能一直在后台运行