Linux下用C語言判斷程式是否已執行

2021-08-13 08:45:47 字數 768 閱讀 1696

通過程式名獲得程序號,然後和當前程式程序號做對比。

int isrunning()

; sprintf(scurrpid, "%d\n", getpid());

file *fstream=null;

char buff[1024] = ;

// a.out為你的可執行程式名

if(null==(fstream=popen("ps -aux | grep a.out | grep -v grep | awk ''", "r")))

while(null!=fgets(buff, sizeof(buff), fstream)) }}

pclose(fstream);

return ret;

}

另外一種相容嵌入式裝置。因為嵌入式裝置可能沒有awk命令,因此採用下面這個通用的方法。

char* getpidfromstr(const char *str)

; int tmp = 0;

int pos1 = 0;

int pos2 = 0;

int i = 0;

int j = 0;

for (i=0; i='0' && str[i]<='9') )

if ( (tmp==1) && (str[i]<'0' || str[i]>'9') )

}for (j=0,i=pos1; i

20200410 判斷程式是C 還是C語言

1 如何列印當前檔案的行號與檔名?答 使用 line 與 file 2 如何判斷一段程式是由c編譯還是c 編譯的?答 這裡提供的答案是 ifdef cpluscplus cout c else cout c語言 endif 其實這道題出的有問題,應該是問如何判斷該程式是由c 編譯的,還是由 其他語言...

用c語言程式實現對素數的判斷

題目 輸出1 n之間的所有素數 要求 為了便於觀察結果,在控制台裡每一行輸出5個數,並且這5個數之間以空格作為分隔 思路 首先要知道什麼是素數以及如何判斷乙個數是不是素數,素數就是除了1和它自身外,沒法被其他自然數整除的數 知道怎樣判斷素數之後就可以嘗試用c語言實現判斷了。過程 include st...

linux下C語言判斷網路是否連線

本文改寫自網上的乙個程式,原始程式中為阻塞式呼叫,而且有程序建立的過程,非常不利於整合到自己程式中,因此對原始程式進行改造,使其可以完成傳送乙個imcp包的方式來判斷網路連通,只需要呼叫改進後的 bool netisok 函式即可,該函式返回true即表示網路狀態良好,否則表示網路狀態不連同,本程式...