假如有一個定時器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刪除,重新建一個就可以了
通過這種方式定時器就能一直在后台運行