Windows 下对应 nohup &的命令是什么?

2022-04-12 13:37:42 +08:00
 dcsuibian

最近在做的一个项目,Spring Boot 程序,基本上就是java -jar XXX.jar --spring.profiles.active=production ...这么运行。

本地开发机是 mac ,安装了 pwsh 。

程序部署在多台 windows ltsc 2018+虚机上。目前各种依赖环境已经装好,安装了 OpenSSH 并配置了免密登录。Windows Powershell 5 。

之前部署到 Linux 上的时候基本就是把 jar 包 scp 上去,然后 ssh 上去用 nohup &运行,这样即使退出 session 程序也会继续运行。

Windows 这边搜了好久,后台运行程序到可以,不过退出 session 后程序也就结束了,找过很多都没有成功的。想请教一下如何实现退出 ssh 会话后仍继续运行的功能?(目前知道 winsw 应该可以,想问问有没有什么更简单的方法)

5523 次点击
所在节点    Windows
31 条回复
msg7086
2022-04-13 06:18:53 +08:00
nohup 跑项目的建议招一个兼职的运维。
liaohongxing
2022-04-13 13:55:32 +08:00
java 项目也是 6 ,敢用 nohup 这种不带进程监控的直接运行 。半夜服务挂了,还得电话起来 起进程
julyclyde
2022-04-13 14:22:25 +08:00
nohup 和&其实是两件事
你都没发现它是两件事,提问的时候你知道自己想要的是什么吗?
julyclyde
2022-04-13 14:22:38 +08:00
@liaohongxing 政企类项目大都这样的
Bingchunmoli
2022-04-13 16:34:41 +08:00
@liaohongxing 日常了百度出来就是这个,不过 java 稳定性还好
Bingchunmoli
2022-04-13 16:36:14 +08:00
Windows 双击启动就不管,狗头
anyele
2022-04-14 11:35:43 +08:00
做过 windows 应用的路过, 吃过做成服务的亏, 强烈建议不要做成服务, 原因是你后面更新的时候会很麻烦, 停止服务->更新文件->启动服务的过程中, 可能会遇到服务停止不成功, 或者服务启动不成功, 没必要给自己增加工作量

上面说既然有 powershell, 那就独立起一个进程就行了, 要是有界面就隐藏掉
anyele
2022-04-14 11:40:37 +08:00
上面说做成服务的可能都没在实际项目中操作过, 除非你这个项目启动了就不更新了, 一旦涉及到更新, 你会花很多代码去检测服务的各种状态, 不然没办法更新文件, 完全得不偿失, 还可能你执行了停止服务的命令, 但服务并不是秒停, 要等一会, 甚至还停止不成功的蛋疼情况
dcsuibian
2022-04-15 00:29:26 +08:00
@msg7086
@liaohongxing
@julyclyde
如果不是生活所迫,谁愿意全干呢。
之前在自己的 ubuntu 上运行过一段时间,还是挺稳定的。
用 WinSW 做过服务,但一直不确定是不是一种好方案。甲方催得急,也不是那种正式使用的状态,就是单纯要求要“有”,所以寻思着先偷个懒。一方面是没有试错的时间,另一方面确实也想了解下 Windows 下对应的方式。
dcsuibian
2022-04-15 00:33:03 +08:00
@anyele 最终还是做成服务了,幸好我的是小型单体应用。写了个脚本,Stop-Service 后 scp jar 包上去再 Start-Service ,勉强想办法完成了批量更新操作。
julyclyde
2022-04-15 10:51:42 +08:00
@dcsuibian 按说这些通用的知识应该早已积累下来了呀
难道这是第一个项目?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/846505

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX