Windows Server下把BAT批处理注册成服务在后台运行且注销后能正常运行
批处理有如下特点:
1、登录到当前窗口运行时,如果关闭控制台会连同启动的程序一起关闭。
2、如果是以start /b的形式启动,那么同样也是在控制台关闭后者注销当前窗口也会一起关闭。
3、如果以vbs的形式启动,注销当前用户也会一起关闭。
有如下方式解决:
1、使用【任务计划】去启动批处理,里面有很多个触发点,可以选择【计算机启动时】触发也能达到开机启动的效果,而不用登录桌面。
2、有错误启动Windows Service方式,用【sc】命令注册服务,然后以cmd.exe的形式去启动(C:\Windows\System32\cmd.exe /C C:\Python34\Scripts\shadowsocks\shadowsocks\run.bat),但这种形式表面上是启动不成功服务,但是实质上在进程上已经有了python.exe这个进程存在,所以是成功启动的;而且这种形式是不能停止或重启这个服务。
3、使用【Bat_To_Exe_Converter】这个软件将bat转换成exe程序,然后用【sc】或者【srvinstw.exe】把这个exe注册进服务,如果是python的程序同样会面临第2步的问题,但是如果你启动的是别的,很可能会成功;还有一个问题,这个转换的程序在执行转换后的exe时会在临时文件夹下产生一个【b2e.exe】的进程,我猜测这个是执行bat的基础,但是里面具体干了什么不得而知,如果想使用,请慎重!
下载地址:http://www.jb51.net/article/20270.htm
4、终极解决方法,使用nssm程序
ssm install <servicename>

然后在服务列表即可启动,这个程序对bat注册成服务非常不错,比上面三种方式靠谱。
参考:
http://stackoverflow.com/questions/415409/run-batch-file-as-a-windows-service
Windows Server下把BAT批处理注册成服务在后台运行且注销后能正常运行的更多相关文章
- Spring Boot项目生成jar包,并在windows服务器中注册成服务,开机启动
背景: 使用Spring Boot开发的Web项目,打包生成了一个jar包,希望能部署在Windows服务器中 尝试: 1.Spring Boot生成的jar包,可以直接用java -jar运行,但是 ...
- Windows 程序注册成服务的方法
Windows 程序注册成服务的方法 将windows 程序注册成服务这个是很多后台程序需要实现的功能,注册成服务后,你的程序就可以像windows 服务一样随系统启动,并且隐藏你的控制台界面.下面介 ...
- windows下安装Redis并部署成服务
windows下安装Redis并部署成服务 Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库.缓存和消息中间件. 一:下载 下载地址: windows版本: http ...
- windows环境下把Python代码打包成独立执行的exe
windows环境下把Python代码打包成独立执行的exe可执行文件 有时候因为出差,突然急需处理一批数据.虽然写好的脚本存储在云端随用随取,然而编译的环境还需要重新搭建,模块也需要重新装载,从 ...
- 如何在Windows Server 2008 R2下搭建FTP服务
在Windows Server 2008 R2下搭建FTP服务,供客户端读取和上传文件 百度经验:jingyan.baidu.com 工具/原料 Windows Server 2008 R2 百度经验 ...
- Windows Server 2012之活动目录域服务的卸载
Windows Server 2012之活动目录域服务的卸载 2012-07-11 06:27:35 标签:Windows Server 2012 活动目录域服务 卸载 原创作品,允许转载,转载时请务 ...
- Windows Server 2008R2 设置SMTP邮件转发服务
最近因业务需求在Windows Server 2008R2server上设置SMTP转发服务,主要是在业务审批过程中邮件通知相关人员审批情况, 1.在server上加入服务 2.打开服务 3.新建一个 ...
- 将bat批处理文件注册成windows服务
C:\Users\lenovo>sc create MyService binPath= "C:\Program Files\restartOracle.bat" type ...
- 如何在Windows Server 2003中配置FTP站点服务
前面写过一篇文章<怎样给你的网站注册一个好域名?> ,讲到“玉米”,笔者有很深的情节,也希望与大家交流“米事”,可以站内私信我或者直接回复文章. 有了好域名只是做网站的开始.我们还要买主机 ...
随机推荐
- .Net实战之反射外卖计费
场景 叫外卖支付,可以有以下优惠: 1. 满30元减12 2. 是会员减配送费,比如5元 3. 优惠券 …. 问题? 如何在不改代码的情况下更灵活的去控制优惠的变化??? 有些代码与实际业务可能 ...
- js操作元素透明度以及浏览器兼容性
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http ...
- 第3章 DOM
1.节点,dom有3种节点,元素节点,文本节点,属性节点 2.元素节点是dom的原子,所有的属性节点和文本节点都被元素包含,但并不是所有的元素都包含他们 3.继承,节点树上的元素将继承父元素的样式和属 ...
- Java运行报错问题——Picked up JAVA_TOOL_OPTIONS: -agentlib:jvmhook
http://blog.csdn.net/xifeijian/article/details/8830933 上述这个朋友博文提醒,可能是因为其他软件添加了JAVA_HOME的路径造成冲突.但他支持删 ...
- IT项目为什么失败 --美国IT项目管理硕士笔记(一)
IT项目为什么失败 什么是项目 项目可以被看作任何一系列的活动和任务.这些活动和任务有一个特定目标需要在特定要求下完成,并有一个明确的开始结束日期和资金限制(如果有).项目需要消耗人力或非人力资源 ...
- UVM基础之-------uvm factory机制override<博>
override功能是UVM中一个比较重要的功能,这个功能也是在factory里面实现的,我们会在env或者具体的case中使用override功能. class case_x extends bas ...
- Python的伪造数据库:Faker
faker 是一个可以让你生成伪造数据的Python包,在软件需求.开发.测试过程中常常需要利用一些假数据来做测试,这种时候就可以使用 Faker 来伪造数据从而用来测试. 一.Faker安装 pip ...
- CAD使用GetxDataLong读数据(网页版)
主要用到函数说明: MxDrawEntity::GetxDataLong2 读取一个Long扩展数据,详细说明如下: 参数 说明 [in] LONG lItem 该值所在位置 [out, retval ...
- [转]Js获取当前日期时间及其它操作
转载自:http://www.cnblogs.com/carekee/articles/1678041.html Js获取当前日期时间及其它操作 var myDate = new Date();myD ...
- 如何同步iframe与嵌入内容的高度
最近频繁的做一些通过iframe在a页面嵌入b页面需求.总结下来,有以下问题需要解决 1.如何同步iframe与嵌入内容的高度 2.将b页面载入到a页面后,如何隐藏掉b页面上的元素,如左导航,顶部导航 ...