通過程式名獲得程序號,然後和當前程式程序號做對比。
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即表示網路狀態良好,否則表示網路狀態不連同,本程式...