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-ის გამოყენებით.