Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux Golang插件热重新加载_Linux_Go_Plugins_Reload - Fatal编程技术网

Linux Golang插件热重新加载

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

我正在尝试在Golang中重新加载插件,我正在使用Go 1.8。我尝试再次打开该插件,但没有成功(打开会打开一个Go插件。如果已经打开了一个路径,则会返回现有的*插件。多个GOroutine可以安全地同时使用它。-Go插件打开文档)。我想知道有没有办法在不重新运行服务器的情况下重新加载


据我所知,这是不可能的,因为go无法卸载共享库。当在插件中创建了一些对象,并从程序中引用时,它不能进行垃圾收集。请参阅此问题:

可能重复的。请访问
exec.Command(“go”,“run”,files…)。run()
您可能必须将其设置为完整的第二个程序,并通过网络/其他方式在两者之间进行通信。