UNIX中的精靈程式 (轉)
中的精靈程式
UNIX中有許多在後臺執行,並且無控制終端的程式。我們把它叫精靈程式。在UNIX中我們可以用 ps -ef 檢視,其TTY項用?標記。本文就精靈程式的特徵,以及如何編寫作一些探討:
一 特徵和編寫規則
1. 因為精靈程式是在後臺執行,所以首先fork()生成一個子程式,然後使父程式exit()。
2. 呼叫setsid()建立一個新的對話期。
3. 設定其工作目錄。(chdir())
4. 將建立遮蔽字設定為0 。(umask(0))
5. 關閉不再需要的檔案描述符。(close(int))
二 例子
# include
# include
int
main(void)
{
int pid ;
int s_pid ;
FILE *fp ;
if(( fp = fopen("/usr/log","w+")) == NULL)
{
fprintf(stderr,"Log File Open Error !n") ;
exit(0) ;
}
if((pid =fork()) < 0)
return -1 ;
else
if( pid > 0 )
exit(0) ;
else
{
s_pid = setsid() ;
fprintf(fp,"SetSid := %d",s_pid) ;
umask(0) ;
chdir("/usr") ;
close(0) ;
close(1) ;
close(2) ;
sleep(100) ;
fclose(fp) ;
return 0 ;
}
}
精靈程式執行過程中的有關資訊在/usr/log檔案中。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10748419/viewspace-996041/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- UNIX 中的檔案切割(轉)
- UNIX共享記憶體的程式(轉)記憶體
- SF精靈 for ChromeChrome
- 自動殺死UNIX僵死的程式(轉)
- 《幻想精靈》精靈系統及圖鑑技能說明攻略
- Cocos2dx中精靈(CCSprite)、動畫建立動畫
- SpriteSheet精靈動畫引擎動畫
- 加密精靈 (EncryptGenie) 2.61加密
- SpriteAtlas精靈圖集
- 驅動精靈是幹嘛的 驅動精靈怎麼安裝驅動
- C 語言程式設計(unix) (轉)程式設計
- MYSQL中UNIX時間戳與日期的轉換MySql時間戳
- Unix中限制root遠端登入的方法(轉)
- CSS精靈圖技術CSS
- 按鍵精靈 使用教程
- 場景放大縮小後的精靈移動和旋轉問題
- pixi的使用之建立和操作精靈
- 360健康精靈工具怎麼用?詳解360健康精靈在電腦中使用的方法
- UNIX系統中Shell的一種新應用(轉)
- NFS-UNIX 中的網路檔案系統(轉)NFS
- VC中實現多格式影像的靈活轉換 (轉)
- UNIX下裝置驅動程式的基本結構(轉)
- SCO UNIX5 的幾個主要系統程式(轉)
- unix環境高階程式設計(中)-程式篇程式設計
- 自動精靈 2.00 破解教程
- 提升 UNIX 中檔案系統使用效率(轉)
- while(liunx,unix)中的迴圈執行某程式用法While
- 可愛精靈在球裡養著玩?《精靈之境》IOS預約開啟!iOS
- 避免專案管理中的溝通失靈 (轉)專案管理
- 避免專案管理中的溝通失靈(轉)專案管理
- UNIX下去除檔案中重複資料的方法(轉)
- 藍精靈之歌職場吐槽版合集【程式設計師版】程式設計師
- unix下編寫socket程式的一般步驟(轉)
- unix中dmesg的應用
- 常用UNIX命令(轉)
- UNIX簡介(轉)
- 學習 PixiJS — 動畫精靈JS動畫
- CSS基礎定位與精靈圖CSS