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։