Sobes.tech
Junior — Middle

როგორ შეიძლება გამოყოფა და განახორციელოს ცალკე პროცესი Go ენაში?

sobes.tech AI

პასუხი AI-სგან

Go ენაში, ცალკე პროცესის (ოპერაციული სისტემის მნიშვნელობით) დაწყებისთვის გამოიყენება os/exec პაკეტი. ამის დახმარებით შეგიძლიათ შექმნათ და დაიწყოთ ახალი პროცესი, მაგალითად, გარე ბრძანების ან პროგრამის შესრულება.

ls -la ბრძანების შესრულების მაგალითი:

package main

import (
    "fmt"
    "os/exec"
)

func main() {
    cmd := exec.Command("ls", "-la")
    output, err := cmd.CombinedOutput()
    თუ err != nil {
        fmt.Println("შეცდომა:", err)
        return
    }
    fmt.Println(string(output))
}

თუ საუბარია კოდის პარალელურ შესრულებაზე პროგრამის შიგნით, Go-ში გამოიყენება გორუტინები (go func() { ... }()). მაგრამ გორუტინა არ არის ცალკე პროცესი, ეს მსუბუქი ნაკადი ერთ პროცესში.

ამიტომ, ცალკე პროცესის განკუთვნა და დაწყება უნდა მოხდეს os/exec-ის გამოყენებით.