Linux Golang插件热重新加载
我正在尝试在Golang中重新加载插件,我正在使用Go 1.8。我尝试再次打开该插件,但没有成功(打开会打开一个Go插件。如果已经打开了一个路径,则会返回现有的*插件。多个GOroutine可以安全地同时使用它。-Go插件打开文档)。我想知道有没有办法在不重新运行服务器的情况下重新加载Linux Golang插件热重新加载,linux,go,plugins,reload,Linux,Go,Plugins,Reload,我正在尝试在Golang中重新加载插件,我正在使用Go 1.8。我尝试再次打开该插件,但没有成功(打开会打开一个Go插件。如果已经打开了一个路径,则会返回现有的*插件。多个GOroutine可以安全地同时使用它。-Go插件打开文档)。我想知道有没有办法在不重新运行服务器的情况下重新加载 据我所知,这是不可能的,因为go无法卸载共享库。当在插件中创建了一些对象,并从程序中引用时,它不能进行垃圾收集。请参阅此问题:可能重复的。请访问exec.Command(“go”,“run”,files…)。ru
据我所知,这是不可能的,因为go无法卸载共享库。当在插件中创建了一些对象,并从程序中引用时,它不能进行垃圾收集。请参阅此问题:可能重复的。请访问
exec.Command(“go”,“run”,files…)。run()
您可能必须将其设置为完整的第二个程序,并通过网络/其他方式在两者之间进行通信。