摘要:通过SSH远程windows进行操作,比如java -jar 或者 javaw -jar这种命令,当你的SSH连接已断开,你的java程序也会停止 。
踩坑点:
通过SSH远程windows进行操作,比如java -jar 或者 javaw -jar这种命令,当你的SSH连接已断开,你的java程序也会停止 。
父进程终止导致子进程终止:在Unix和类Unix系统中(包括Windows的某些实现,如Cygwin),如果一个进程启动了其他进程,当父进程终止时,操作系统通常会发送一个信号(通常是SIGTERM)给所有子进程,要求它们也终止。这是为了防止僵尸进程(zombie processes)的产生,即已经结束但其父进程尚未回收其资源的进程。
Java应用程序依赖于SSH会话:如果你的Java应用程序直接依赖于SSH会话(例如,通过某些特定的库或框架),那么当SSH连接断开时,这些依赖可能会受到影响,导致程序异常终止。
将Java应用程序配置为Windows服务。这样,即使SSH会话断开,服务也会继续运行。
Windows Service Wrapper可用于包装和管理作为Windows服务的自定义进程
下载地址:https://github.com/winsw/winsw/releases
test.xml 为了方便,使用项目名称即可
name是windows -> 服务 -> 服务名称
来源:新快科技