扫码关注官方订阅号
前提:我想通过golang执行linux命令启动一个类似tomcat这样的服务器
问题:golang可以实现执行命令并启动服务,但是当我把golang关掉的时候,已经启动的服务也会相应关闭,不知道是通过什么方法将两者的关联去掉,即我关闭golang不会关闭通过golang启动的服务。
多谢各位高手了!
光阴似箭催人老,日月如移越少年。
golang执行另外一个程序的时候,比如执行程序B,默认是作为B的父进程启动B的,你可以ps -ef看下父子关系。所以你要做的是,让新启动的B进程父进程为1号进程,方法为
runuser -l root -c "程序 参数 2>&1 &"
后面的“2>&1 &”不要动,前面的程序和参数替换实际运行的即可
通过一个服务A启动另外一个服务B,关闭A之后B保持运行,是吧?
你可以使用supervisor,一个进程守护工具,即使进程挂了也会自动重启进程。
然后通过A操作supervisor,通过supervisor守护B,这样应该就没有问题了。
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
golang执行另外一个程序的时候,比如执行程序B,默认是作为B的父进程启动B的,你可以ps -ef看下父子关系。
所以你要做的是,让新启动的B进程父进程为1号进程,方法为
后面的“2>&1 &”不要动,前面的程序和参数替换实际运行的即可
通过一个服务A启动另外一个服务B,关闭A之后B保持运行,是吧?
你可以使用supervisor,一个进程守护工具,即使进程挂了也会自动重启进程。
然后通过A操作supervisor,通过supervisor守护B,这样应该就没有问题了。