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

时间:2021-03-03 03:55:40

假如有一个定时器TimerTest.java

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

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

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

Timer.sh脚本如下:

  1. #! /bin/sh
  2. cd /usr/etc/
  3. java TimerTest

保存并退出 

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

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