linux下使用系統呼叫實現程序後台執行

2021-03-31 08:56:29 字數 795 閱讀 4580

其實很簡單,就是把

if(fork()==0)

else

結構中的else去掉就可以了

下面是乙個示例

#include

#include

#include

#include

#include

#include

#include

int main(int argc,char** argv)

printf("process is ok/n");}}

if(gc=='k')

if(gc=='e')}}

功能是這樣的,啟動以後會從鍵盤接受字元,如果是g就執行預先指定好的程式(在這裡是乙個叫clu的程式),如果是k就列印to be continue,如果是e就退出

下面是這個叫clu的程式的**

#include

#include

int main()}}

}if((flag=time(&nowtime2))==-1)exit(1);

printf("%ld/n",finish);

printf("proccess time %ldsec/n",nowtime2-nowtime1);

}這個程式本身沒有任何意義,只是純粹的延誤一下時間,輸出一下執行的時間,便於測試,在我的amd2500+上,大概是5秒,你可以試試哦^_^

要測試這個程式,可以在程式執行時輸入g,但是這個計算不會馬上結束,在螢幕還沒有輸出的時候再輸入k,就會先輸出k的內容,後台clu的結果出來後才輸出到螢幕,也就是clu在後台執行了

Linux下系統呼叫實現檔案操作

系統呼叫 系統呼叫是作業系統提供給使用者程式的一組 特殊 函式介面,使用者通過這組介面獲得作業系統提供的服務 中操作i o的函式,都是針對檔案描述符的。通過檔案描述符可以直接對相應檔案進行操作,如 open close write read ioctl define stdin fileno 0 標...

linux下epoll系統呼叫實現I O復用

epoll系統呼叫 穿件核心事件表,返回指向被建立表的檔案描述符 作為其它epoll函式的第乙個引數 include int epoll create int size epoll ctl實現對核心事件表的操作 int epoll ctl int epfd,int op,int fd,struct ...

Linux下select 系統呼叫

一 select 函式功能 select系統呼叫允許程式同時在多個底層檔案表述符上,等待輸入的到達或輸出的完成。二 函式意義 乙個伺服器可以同時在多個開啟的套接字等待請求到來的方法而處理多個客戶。只是具體應用的其中之一 自己的理解,但凡是程式在執行過程中會遇到阻塞 不到條件發生就不往下執行 的情況,...