Выход CLI: убивает процесс в середине, но не требуется. Вывод - PullRequest
0 голосов
/ 01 ноября 2019

В настоящее время я работаю над проектом, который требует, чтобы я отправил запрос curl. Вывод запроса предоставляет ссылку, срок действия которой истекает через 10 секунд. По ссылке начинается загрузка. Я пытаюсь отправить запрос и загружаю файл по ссылке в программе go. Но ссылка, обеспечивающая вывод, занимает 10 секунд, и после этого я не могу получить доступ к ссылке. Поэтому я решил преждевременно завершить процесс, используя команду timeout, и я могу загрузить все необходимое. Но когда я пытаюсь сделать то же самое в Go, я не могу получить вывод, который будет отображаться, пока он не будет уничтожен.

Я только получаю этот вывод.

 % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
 100  1320    0  1043  100   277     98     26  0:00:10  0:00:10 --:--:--    12

Я использую следующий скрипт go.

cmd := exec.Command("chmod", "744", "end.sh")
    out, err := cmd.Output()
    cmd1 := exec.Command("./end.sh")
    out, err = cmd1.CombinedOutput()
    if err != nil {
        log.Fatalf("cmd.Run(endpoint) failed with %s\n", err)
    }

    fmt.Println(string(out))

Этот код вызывает скрипт оболочки.

timeout 5 curl XXXXXXXXX

Так, что я мог сделать, чтобы получить выходные данные из сценария оболочки или модификации сценария go?

...