Linux 将带有库的可执行二进制文件嵌入golang应用程序并运行它
我有一个带库的二进制可执行文件,我需要将它们全部嵌入到golang应用程序中,并通过Linux 将带有库的可执行二进制文件嵌入golang应用程序并运行它,linux,go,Linux,Go,我有一个带库的二进制可执行文件,我需要将它们全部嵌入到golang应用程序中,并通过os/exec作为应用程序的新进程运行二进制文件。该应用程序在Linux上运行,并具有所有必要的权限 如何使用库和参数启动二进制文件本身,并创建一个新进程?最好的方法是不创建任何临时文件。可能与跳过一个简单的部分有关,假设二进制文件和库是在[]byte变量中定义的。关键问题是如何将二进制文件作为一个新进程从应用程序中打包,例如通过os/exec.Command()resp。如何将变量中的二进制文件传递给命令()。
os/exec
作为应用程序的新进程运行二进制文件。该应用程序在Linux上运行,并具有所有必要的权限
如何使用库和参数启动二进制文件本身,并创建一个新进程?最好的方法是不创建任何临时文件。可能与跳过一个简单的部分有关,假设二进制文件和库是在
[]byte
变量中定义的。关键问题是如何将二进制文件作为一个新进程从应用程序中打包,例如通过os/exec.Command()
resp。如何将变量中的二进制文件传递给命令()
。谢谢。exec.Command()调用exec(2)。您不能直接执行嵌入在二进制文件中的命令。它一定是一个文件。所以应该从二进制文件中提取命令。@mattn您是对的。注意:os.StartProcess()
是一个低级接口。os/exec
包只提供更高级别的接口。两者都启动程序,一个位于磁盘中的可执行二进制文件。每个问题都在stackoverflow上得到了回答,并且有很好的文档记录。你试过什么,什么不起作用?