linux c語言執行shell命令

2021-10-01 20:49:20 字數 1369 閱讀 4228

int

system

(const

char

*command);

輸入command指的是要執行的shell命令。

file *

popen

(const

char

*command,

const

char

*type)

;int

pclose

(file *stream)

;

popen函式是首先fork乙個子程序,然後exec,執行乙個shell,在這個shell中執行引數command命令。引數type 可讀r,可寫w,不能同時。rw和r一樣。使用完之後記得使用pclose關閉。

void

print_result

(file *fp)

printf

("\n>>>\n");

while

(memset

(buf,0,

sizeof

(buf)),

fgets

(buf,

sizeof

(buf)-1

, fp)!=0

)printf

("\n<<<\n");

}int

main

(void

)print_result

(fp)

;pclose

(fp)

;return0;

}

#include

#include

#define buf_len 128

void

cmd_exec

(const

char

* cmd,

char

*result)

while

(fgets

(result, buf_len, fp)!=0

)pclose

(fp);}

intmain

(void);

int ret =0;

ret =

system

("ntpdate time.pool.aliyun.com");

printf

("ret = %d"

,ret)

;cmd_exec

("echo $?"

,buf)

;printf

("echo result %s"

,buf)

;return0;

}

linux c 執行shell命令並獲取返回結果

最近在專案中用到了c語言執行shell命令的問題,調查了一下,一般有system函式 exec族函式,但是還不太清楚怎麼獲取shell命令執行的返回資訊。例如執行乙個ifconfig命令,肯定需要獲取ifconfig命令的返回值的。接著調查的話,發現有乙個popen函式,也可以執行shell命令,並...

C語言執行shell命令

1 system 執行shell 命令 相關函式 fork,execve,waitpid,popen 表頭檔案 include 定義函式 int system const char string 函式說明 system 會呼叫fork 產生子程序,由子程序來呼叫 bin sh c string來執行...

go語言執行shell命令

go語言執行shell命令 package main import os exec fmt os strings func main 預設輸出有乙個換行 fmt.println string whoami 指定引數後過濾換行符 fmt.println strings.trim string whoa...