Я предполагаю, что операционная система вашего компьютера - Windows.
Возможно, вам потребуется использовать полный путь к вашему исполняемому файлу, и хороший способ ввести путь при создании объекта команды с помощью ``
- создать строку и интерполировать ее. В противном случае пробелы и специальные символы могут создать проблему. Вот пример,
path = "C:\\Program Files\\Mozilla Firefox\\firefox.exe"
run(`$path`)
Однако запуск такого способа не всегда похож на двойной щелчок по файлу EXE. Выполняемый исполняемый файл все еще может быть присоединен к вашему терминалу, и вы не сможете запускать новые команды в Julia REPL, пока не завершится созданный процесс. Например, попробуйте следующее и попробуйте ввести команду в Julia REPL, не закрывая окно:
run(`notepad`)
Если вам не нужно это поведение, вы можете использовать run
с ключевым словом wait=false
.
run(`$path`, wait=false)
Если ожидание ложно, процесс выполняется асинхронно и потоки ввода-вывода процесса направляются на devnull
. Это на самом деле не отделить процесс. Если вы убьете процесс julia
, процесс исполняемого файла также будет уничтожен.
Вместо этого вы можете использовать cmd /c start
, чтобы открыть исполняемый файл в другом окне cmd
. Процесс исполняемого файла должен быть отделен от Джулии.
run(`cmd /c start $path`)
Дополнительную информацию о запуске внешних программ вы можете найти в соответствующей записи руководства Julia.