2011-03-07 99 views
0

在我的C++在Linux應用程序,我怎樣才能得到一個服務的狀態(如服務ABC狀態的終端時,ABC是服務)獲取C服務狀態++的Linux

感謝

+0

在「人2等待」中描述的宏你不想要做到這一點。這兩種方式都開始了,*他們的名字*是依賴於安裝的。你最終的目標是什麼? –

回答

2
FILE * f = popen("service abc status", "r"); 

然後閱讀從f與eg FGETS

char Line[100]; 
while (fgets(Line, 100, f) != NULL) 
    cout << Line; 

記住關閉文件:

int st = pclose(f); 

然後你就可以檢查出代碼,並使用等有關st

+0

我想通過代碼獲取狀態而不執行服務狀態 – gln

+1

服務狀態取決於您的分發和設置。你需要重複'service'應用/腳本所做的事情,或者運行它並解析輸出。 – Erik

+0

如果我想在沒有系統調用的情況下執行此操作? – gln