Sobes.tech
Junior — Middle

Go tilida qanday qilib alohida jarayonni ajratib chiqarish va ishga tushirish mumkin?

sobes.tech AI

AIdan javob

Go tilida, alohida jarayonni (operatsion tizim ma'nosida) ishga tushirish uchun os/exec paketi ishlatiladi. Bu yordamida yangi jarayon yaratish va ishga tushirish mumkin, masalan, tashqi buyruq yoki dastur bajarish.

ls -la buyruqini ishga tushirish misoli:

package main

import (
    "fmt"
    "os/exec"
)

func main() {
    cmd := exec.Command("ls", "-la")
    output, err := cmd.CombinedOutput()
    if err != nil {
        fmt.Println("Xato:", err)
        return
    }
    fmt.Println(string(output))
}

Agar kodning parallel bajarilishi haqida bo‘lsa, Go’da bu uchun goroutinlar (go func() { ... }()) ishlatiladi. Ammo goroutine alohida jarayon emas, balki bir jarayon ichidagi yengil oqim.

Shuning uchun, alohida jarayonni ajratish va ishga tushirish uchun os/exec ishlatiladi.