當前位置:首頁 » 編程語言 » c語言判斷進程是否存在

c語言判斷進程是否存在

發布時間: 2024-11-25 14:42:50

⑴ 用c語言編一個程序,用於判斷某個應用程序(.exe後綴)是否已經運行。

枚舉操作系統,查找有無此進程。。 這是正統方法。。

還有一個變通的技巧:

先備份源程序,然後嘗試刪除之,如果刪除成功,說明沒有運行,

還原備份文件,否則,說明程序已運行,刪除備份文件。。

這個用批處理就可以解決了。。

⑵ C語言中exit();怎麼用

exit() 結束當前進程/當前程序/,在整個程序中,只要調用 exit ,就結束。

return() 是當前函數返回,當然如果是在主函數main, 自然也就結束當前進程了,如果不是,那就是退回上一層調用。

在多個進程時.如果有時要檢測上進程是否正常退出的.就要用到上個進程的返回值。

exit(1)表示進程正常退出. 返回 1;

exit(0)表示進程非正常退出. 返回 0.

操作:

1、進程的開始:

C程序是從main函數開始執行, 原型如下:int main(int argc, char *argv[]),通常main的返回值是int型, 正確返回0.如果main的返回值為void或者無, 某些編譯器會給出警告, 此時main的返回值通常是0.

2、進程終止:

C程序的終止分為兩種: 正常終止和異常終止.正常終止分為: return, exit, _exit, _Exit, pthreade_exit異常中指分為: abort, SIGNAL, 線程響應取消。正常終止的前4種, 即exit系列函數.

3、 atexit終止處理程序:

ISO C規定, 一個進程最對可登記32個終止處理函數, 這些函數由exit按登記相反的順序自動調用. 如果同一函數登記多次, 也會被調用多次.

原型如下:

#include

int atexit(void (*func)(void));

其中參數是一個函數指針, 指向終止處理函數, 該函數無參無返回值.

(2)c語言判斷進程是否存在擴展閱讀

exit函數和return函數的主要區別:

1)exit用於在程序運行的過程中隨時結束程序,exit的參數是返回給OS的。main函數結束時也會隱式地調用exit函數。

exit函數運行時首先會執行由atexit()函數登記的函數,然後會做一些自身的清理工作,同時刷新所有輸出流、關閉所有打開的流並且關閉通過標准I/O函數tmpfile()創建的臨時文件。

exit是結束一個進程,它將刪除進程使用的內存空間,同時把錯誤信息返回父進程;而return是返回函數值並退出函數。

通常情況:exit(0)表示程序正常, exit(1)和exit(-1)表示程序異常退出,exit(2)表示表示系統找不到指定的文件。在整個程序中,只要調用exit就結束(當前進程或者在main時候為整個程序)。

2)return是語言級別的,它表示了調用堆棧的返回;return( )是當前函數返回,當然如果是在主函數main, 自然也就結束當前進程了,如果不是,那就是退回上一層調用。

在多個進程時。如果有時要檢測上個進程是否正常退出。就要用到上個進程的返回值,依次類推。而exit是系統調用級別的,它表示了一個進程的結束。

3)exit函數是退出應用程序,並將應用程序的一個狀態返回給OS,這個狀態標識了應用程序的一些運行信息。

熱點內容
我的世界伺服器增加粒子 發布:2024-11-25 16:28:29 瀏覽:717
帶內核的安卓x86是什麼意思 發布:2024-11-25 16:27:01 瀏覽:272
php了解 發布:2024-11-25 16:16:26 瀏覽:933
個人搭建伺服器要錢不 發布:2024-11-25 16:06:56 瀏覽:832
伺服器磁碟滿了怎麼辦 發布:2024-11-25 16:06:14 瀏覽:19
python代碼文本分類 發布:2024-11-25 16:05:22 瀏覽:224
加密cf備份 發布:2024-11-25 16:05:21 瀏覽:442
java加鎖 發布:2024-11-25 15:50:26 瀏覽:397
電信營業廳安卓文件夾是哪個 發布:2024-11-25 15:40:14 瀏覽:498
後期配置本田遙控鑰匙怎麼換電池 發布:2024-11-25 15:39:37 瀏覽:235