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()
    if err != nil {
        fmt.Println("Սխալ:", err)
        return
    }
    fmt.Println(string(output))
}

Եթե խոսքը գնում է ծրագրի ներսում կոդի համաժամանակյա կատարման մասին, ապա Go-ում օգտագործվում են գորութիներ (go func() { ... }()). Բայց գորութինը չի հանդիսանում առանձին գործընթաց, այն՝ թեթև հոսք է մեկ գործընթացի ներսում:

Աստիճանաբար, առանձին գործընթացի ամրագրում և գործարկում համար անհրաժեշտ է օգտագործել os/exec։