检测程序是否运行

定时检测程序是否运行

之前项目有需求,在户外一体机上运行各类的交互游戏。因为一体机屏幕本身是支持触摸的,而且使用用户又比较多,所以经常会出现程序退出,被用来播放电影视频等其他内容。
想过一些思路,比如程序加上心跳跟公司服务器做检测等,但是还是相对比较麻烦,后来就想了一个简单的办法,用windows的定时任务+bat脚本来进行检测,具体思路如下:

1、bat脚本检测程序是否运行

  1. 新建命名为Monitor的.txt文件,然后将后缀改成.bat的脚本;
  2. 脚本就一行代码:
tasklist | find /i "程序的名字" && echo "IS Running" || start /d "程序的路径" 程序的名字
根据程序的名称查找对应的进程,如果的有的话,执行输出打印IS Runing;如果没有的话,执行后面的语句,即打开该程序;

#例如:
tasklist | find /i "WeChat.exe" && echo "IS Running" || start /d "D:\Software\WeChat\" WeChat.exe
#如果想暂停的话也可以加入下面的代码
#pause

注意:

  1. 这里的名字跟程序本身的名称会有一定出入,一定要在任务管理器里面找到对应的进程名称;
  2. 文件的路径参考下图;

2、定时任务里面添加该脚本

  1. 在开始菜单里面搜索任务计划程序;
  2. 创建基本任务->填写名称/描述->触发器/当前用户登录时->操作/启动程序->添加刚才写好的脚本->点击完成;
  3. 设置脚本执行时间:双击刚才创建好的任务,然后点击触发器->编辑->设置任务的重复时间;

判断软件盘是否弹出for android 检测软件是否运行_触发器


判断软件盘是否弹出for android 检测软件是否运行_bat脚本_02


判断软件盘是否弹出for android 检测软件是否运行_bat脚本_03


判断软件盘是否弹出for android 检测软件是否运行_batch_04


判断软件盘是否弹出for android 检测软件是否运行_batch_05


判断软件盘是否弹出for android 检测软件是否运行_定时任务_06

综上,就完成了电脑开机后,每小时(时间长短可自行调整)执行一次脚本,如果程序运行就无操作,程序没有运行就打开对应的程序。