我有一个程序需要启动另一个程序。在我的Mac上,我使用系统(“开放路径”),但在Linux上无法正常工作。并且使用系统(./path)不是我想要的,因为它超过正在运行的程序。
那么有没有办法在linux上获得与mac'open path'命令相同的行为?
(linux noob btw:p)
答案 0 :(得分:1)
如果您在GUI环境中运行应用程序,这应该是可能的,但方法是不同的。您需要明确地启动一个新的终端实例。
确定终端应用程序的路径。这取决于linux发行版。 接下来,检查该特定终端应用程序的文档,并了解如何启动它来运行应用程序(您的应用程序)而不是shell。这可能涉及使用某些特定于应用程序的命令行选项。在终端窗口中测试,直到您有一个命令行,为您提供所需的结果。如果您的应用程序也需要命令行参数,那么事情可能会变得有点棘手。必要时使用 - 选项。
然后,您需要做的就是从“父”应用程序运行该命令行。不过我建议不要使用system()。 exec ...族函数(使用fork和wait)提供了更好的控制。