前提:
我想通过golang执行linux命令启动一个类似tomcat这样的服务器
问题:
golang可以实现执行命令并启动服务,但是当我把golang关掉的时候,已经启动的服务也会相应关闭,不知道是通过什么方法将两者的关联去掉,即我关闭golang不会关闭通过golang启动的服务。
多谢各位高手了!
前提:
我想通过golang执行linux命令启动一个类似tomcat这样的服务器
问题:
golang可以实现执行命令并启动服务,但是当我把golang关掉的时候,已经启动的服务也会相应关闭,不知道是通过什么方法将两者的关联去掉,即我关闭golang不会关闭通过golang启动的服务。
多谢各位高手了!
通过一个服务A启动另外一个服务B,关闭A之后B保持运行,是吧?
你可以使用supervisor,一个进程守护工具,即使进程挂了也会自动重启进程。
然后通过A操作supervisor,通过supervisor守护B,这样应该就没有问题了。
7 回答5.3k 阅读
6 回答6.9k 阅读✓ 已解决
4 回答4k 阅读
2 回答5.9k 阅读✓ 已解决
2 回答2.5k 阅读✓ 已解决
1 回答2.3k 阅读✓ 已解决
4 回答2.3k 阅读
golang执行另外一个程序的时候,比如执行程序B,默认是作为B的父进程启动B的,你可以ps -ef看下父子关系。
所以你要做的是,让新启动的B进程父进程为1号进程,方法为
后面的“2>&1 &”不要动,前面的程序和参数替换实际运行的即可