C監控程序是否存在的方法

2021-06-25 10:19:35 字數 707 閱讀 6704

bool proces***ists(char * process_name) 

pclose(ptr);

return count >= 1;

}return false;

}

這裡需要注意的是popen和pclose函式結對使用。

標準i/o函式庫提供了popen函式,它啟動另外乙個程序去執行乙個shell命令列。

這裡我們稱呼叫popen的程序為父程序,由popen啟動的程序稱為子程序。

popen函式還建立乙個管道用於父子程序間通訊。父程序要麼從管道讀資訊,要麼向管道寫資訊,至於是讀還是寫取決於父程序呼叫popen時傳遞的引數。

下面是函式介紹:

函式功能:popen()會呼叫fork()產生子程序,然後從子程序中呼叫/bin/sh -c來執行引數command的指令。

引數type可使用「r」代表讀取,「w」代表寫入。

依照此type值,popen()會建立管道連到子程序的標準輸出裝置或標準輸入裝置,然後返回乙個檔案指標。

隨後程序便可利用此檔案指標來讀取子程序的輸出裝置或是寫入到子程序的標準輸入裝置中

函式功能:pclose()用來關閉由popen所建立的管道及檔案指標。引數stream為先前由popen()所返回的檔案指標

返回值:若成功返回shell的終止狀態(也即子程序的終止狀態),若出錯返回-1,錯誤原因存於errno中

C 判斷程序是否存在

判斷指定的程序或程式是否存在方法 一 判斷指定程式名的程序是否存在 view plain bool callback ipenumfunc hwnd hwnd,lparam lparam return 1 二 判斷指定程序名的程序是否存在 view plain dword getprocessidf...

shell指令碼監控程序是否存在 不存在則啟動程序

列印出當前的程序,grep v grep 去掉grep程序 ocrthread ps ef grep ocr.py grep v grep echo ocrthread 查詢ocr程序個數 wc l 返回行數 count ps ef grep exp.py grep v grep wc l echo...

判斷子程序是否存在

if kill pidt,0 0 child process has dead.else child alive 前提條件是,父程序已經處理了sigchld.否則,此檢測方法將失效 unix 環境高階程式設計 的解釋為 kill pid t pid,int signo posix將編號為0的訊號定義...