2015-09-28 2 views

ответ

4

Вы можете проверить golang exec.Command, как в os/exec/example_test.go

func ExampleCommand() { 
    cmd := exec.Command("tr", "a-z", "A-Z") 
    cmd.Stdin = strings.NewReader("some input") 
    var out bytes.Buffer 
    cmd.Stdout = &out 
    err := cmd.Run() 
    if err != nil { 
     log.Fatal(err) 
    } 
    fmt.Printf("in all caps: %q\n", out.String()) 
} 

Первый параметр является команда, которую вы хотите выполнить, остальные параметры.

func Command(name string, arg ...string) *Cmd 

В том же os/exec/example_test.go, вы найдете примеры того, как читать вывод, запустите команду или даже сделать трубу.

+0

для запуска команды с привилегиями root, в python мы даем run_as_root = True. То же самое и в голанге? – Sagheer

+0

@ Sagheer вам понадобится, например, диспетчер процессов (http://stackoverflow.com/a/30950683/6309) или использовать 'su root -c" ... "' (http://stackoverflow.com/a/ 30942527/6309) – VonC

Смежные вопросы