使用Jenkins发布到Windows 服务器上的时候,在Windows 上面装了OpenSSH服务,通过Pulish Over SSH的方式去传文件和启动,发现发布的程序总是启动不起来;
折腾良久毫无头绪。
这时身边小伙伴提醒了一下:是不是SSH的连接断开,Session结束,该Session下启动的程序都会被终止掉,像Linux下的SSH一样。
这真的是一语惊醒梦中人,终于找到程序没起来的原因了:是启动后,又被OpenSSH服务结束了。
在Linux下可以通过nohup来把启动的程序作为服务来长久运行;那么Windows下也是可以这么做的,有几种方法:
1. 把程序变做Windows服务,然后shell中通过net start 命令启动服务
但这种做法需要改变程序或者依赖其他程序把当前的程序变为服务
2. 通过Windows的计划任务来实现
创建一个启动程序的计划任务,然后通过以下命令来启动。
schtask /run /tn "/任务目录/任务名字"
第二种方法,方便快捷,轻松解决OpenSSH中Windows 程序nohup的需求。