Julia - 如何从 REPL 启动可执行文件
Julia - How to launch an Executable file from REPL
我正在尝试通过 Julias REPL 打开一个程序。我希望结果就像我在文件资源管理器中双击 .exe 文件一样。
我试过使用 run(`program.exe`)
但找不到文件。然后我意识到我需要一个命令在前面所以我尝试了 run(`run program.exe`)
。这似乎找到了程序,但它立即崩溃了。
我假设您的计算机操作系统是Windows。
您可能需要使用可执行文件的完整路径,并且在使用 ``
创建命令对象时输入路径的好方法是创建字符串和 interpolate 它。否则空格和特殊字符可能会产生问题。这是一个例子,
path = "C:\Program Files\Mozilla Firefox\firefox.exe"
run(`$path`)
但是,运行这种方式并不总是像双击 EXE 文件那样。 运行ning 可执行文件可能仍附加到您的终端,并且在创建的进程退出之前,您不能在 Julia REPL 中 运行 新命令。例如,尝试以下操作并尝试在不关闭 window:
的情况下在 Julia REPL 中输入命令
run(`notepad`)
如果您不希望出现这种情况,可以使用 run
和 wait=false
关键字选项。
run(`$path`, wait=false)
如果 wait 为 false,进程 运行 将异步进行并且进程的 I/O 流被定向到 devnull
。这实际上并没有分离过程。如果您杀死 julia
进程,可执行文件的进程也将被杀死。
您可以改为使用 cmd /c start
在另一个 cmd
window 中打开可执行文件。可执行文件的进程应该与 Julia 分离。
run(`cmd /c start $path`)
您可能会在 Julia 手册的 the relevant entry 中找到有关 运行ning 外部程序的更多信息。
我正在尝试通过 Julias REPL 打开一个程序。我希望结果就像我在文件资源管理器中双击 .exe 文件一样。
我试过使用 run(`program.exe`)
但找不到文件。然后我意识到我需要一个命令在前面所以我尝试了 run(`run program.exe`)
。这似乎找到了程序,但它立即崩溃了。
我假设您的计算机操作系统是Windows。
您可能需要使用可执行文件的完整路径,并且在使用 ``
创建命令对象时输入路径的好方法是创建字符串和 interpolate 它。否则空格和特殊字符可能会产生问题。这是一个例子,
path = "C:\Program Files\Mozilla Firefox\firefox.exe"
run(`$path`)
但是,运行这种方式并不总是像双击 EXE 文件那样。 运行ning 可执行文件可能仍附加到您的终端,并且在创建的进程退出之前,您不能在 Julia REPL 中 运行 新命令。例如,尝试以下操作并尝试在不关闭 window:
的情况下在 Julia REPL 中输入命令run(`notepad`)
如果您不希望出现这种情况,可以使用 run
和 wait=false
关键字选项。
run(`$path`, wait=false)
如果 wait 为 false,进程 运行 将异步进行并且进程的 I/O 流被定向到 devnull
。这实际上并没有分离过程。如果您杀死 julia
进程,可执行文件的进程也将被杀死。
您可以改为使用 cmd /c start
在另一个 cmd
window 中打开可执行文件。可执行文件的进程应该与 Julia 分离。
run(`cmd /c start $path`)
您可能会在 Julia 手册的 the relevant entry 中找到有关 运行ning 外部程序的更多信息。