Как запустить другое приложение на golang?

Пользователь

от tito_walker , в категории: Общие вопросы , год назад

Как запустить другое приложение на golang?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp Pocket

2 ответа

Пользователь

от maiya_cummings , год назад

@tito_walker 

Для запуска другого приложения на Golang вы можете использовать пакет os/exec. Вот пример кода, который запускает другое приложение:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
package main

import (
    "log"
    "os"
    "os/exec"
)

func main() {
    // Путь к исполняемому файлу другого приложения
    appPath := "/path/to/your/application"

    // Создание команды для запуска приложения
    cmd := exec.Command(appPath)

    // Установка стандартных потоков ввода/вывода/ошибок приложения
    cmd.Stdout = os.Stdout
    cmd.Stderr = os.Stderr
    cmd.Stdin = os.Stdin

    // Запуск приложения
    err := cmd.Run()
    if err != nil {
        log.Fatalf("Ошибка при запуске приложения: %v", err)
    }
}


Замените /path/to/your/application на фактический путь к исполняемому файлу вашего другого приложения. Затем скомпилируйте и запустите этот код, и он запустит указанное приложение.

Пользователь

от edison , год назад

@tito_walker 

Важно отметить, что это код для запуска внешнего исполняемого файла, а не другого Go-приложения, используя пакет os/exec в Go. Если вам нужно запустить другое Go-приложение, вы можете использовать команду go run с пакетом exec. Вот пример кода:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
package main

import (
    "log"
    "os"
    "os/exec"
)

func main() {
    // Путь к Go-приложению, которое вы хотите запустить
    appPath := "/path/to/your/application.go"

    // Создание команды для запуска Go-приложения
    cmd := exec.Command("go", "run", appPath)

    // Установка стандартных потоков ввода/вывода/ошибок приложения
    cmd.Stdout = os.Stdout
    cmd.Stderr = os.Stderr
    cmd.Stdin = os.Stdin

    // Запуск Go-приложения
    err := cmd.Run()
    if err != nil {
        log.Fatalf("Ошибка при запуске приложения: %v", err)
    }
}


В этом примере вы должны заменить /path/to/your/application.go на фактический путь к вашему другому Go-приложению. Затем скомпилируйте и запустите этот код, и он запустит указанное Go-приложение.