现在我有个用java写的任务调度的控制台程序 
但有个问题,每天早上来的时候发现那个控制台窗口都关闭掉了,但有时候程序还在运行, 
于是乎我就很担心有一天程序自己关闭:想求一个检查该程序是否关闭的方法。 
现在服务器是win2003,怎么使用win的任务计划监测该程序是否运行,如果已停止就重新启动.

解决方案 »

  1.   

    使用tasklist命令查询当前运行的程序,如
    C:\Documents and Settings\Administrator>tasklist /FI "IMAGENAME eq 360sd.exe"图像名                       PID 会话名           会话#       内存使用
    ========================= ====== ================ ======== ============
    360sd.exe                   2136 Console                 0      1,992 K
      

  2.   

    java程序在进程中就是javaw.exe如果定时扫描它,由于部署的有其他应用该程序这个是不可行的。还有没有其他的方法...
    等》
      

  3.   

    用tasklist /V 取得详细信息过滤一下,如果没有你要监控的那个程序,就启动一个
      

  4.   

    #!/bin/bash
    java -cp . com.test.Main &
    echo $! > pid.txt然后这样检查:ps x | awk '{print $1}' | grep ^$(cat pid.txt)$
      

  5.   

    哦,不好意思,看错了,我还以为是在 Linux 下
      

  6.   


    ps x | awk '{print $1}' | grep ^$(cat pid.txt)$这句话是什么意思?看能否给点思路,
    现在我是把java项目注册成服务,然后写批处理就Ok。 谢谢大家的帮忙哈...