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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- DRP:分銷鏈上的精靈(轉)
- unix環境高階程式設計(中)-程式篇程式設計
- C++中UNIX時間戳與日期互轉C++時間戳
- 《Unix 網路程式設計》11:名字和地址轉換程式設計
- Unix哲學(Unix程式設計藝術)程式設計
- 驅動精靈是幹嘛的 驅動精靈怎麼安裝驅動
- SpriteAtlas精靈圖集
- Cocos2dx中精靈(CCSprite)、動畫建立動畫
- 《Unix 網路程式設計》15:Unix 域協議程式設計協議
- 如何建立 mapbox 精靈圖
- CSS精靈圖技術CSS
- pixi的使用之建立和操作精靈
- 360健康精靈工具怎麼用?詳解360健康精靈在電腦中使用的方法
- unix時間轉換為datetimedatetime轉換為unixtime
- windows txt怎麼轉成unix 格式Windows
- Leprechaun綠精靈魔法來襲
- 學習 PixiJS — 動畫精靈JS動畫
- 學習 PixiJS — 精靈狀態JS
- 精靈小巧的 Jsonpath 萬精油:Snack3JSON
- 《精靈之境》終測開啟,聯動《蔬菜動物精靈》打造可愛旅程
- 可愛精靈在球裡養著玩?《精靈之境》IOS預約開啟!iOS
- 玩轉 PHP 網路程式設計全套之 unix 本地域 socket 通訊PHP程式設計
- 《精靈與螢火意志》是如何誕生的
- 如何將UTC時間轉換為Unix時間戳(How to convert UTC time to unix timestamp)時間戳
- 學習 PixiJS — 小精靈冒險JS
- win10如何強制解除安裝驅動精靈_win10解除安裝驅動精靈的方法Win10
- vue中實現路由跳轉的三種方式(精選)Vue路由
- win10系統如何使用一鍵刷機精靈_win10使用一鍵刷機精靈的步驟Win10
- 天貓精靈的自定義語音技能建立流程
- jQuery實現圖示特效(精靈圖)jQuery特效
- 天貓精靈火眼XHolder體驗 自帶靈氣會識物
- 本文幫你在 Unix 下玩轉 C 語言
- 華為精益敏捷專家:DevOps轉型中的那些坑敏捷dev
- 解決Pygame精靈會跳但不會走的問題GAM
- 製作《精靈與螢火意志》的神奇聲音 上
- 手寫一個在Flutter裡展示”精靈圖“的WidgetFlutter
- 惠普光影精靈4代綠刃144Hz螢幕評測 光影精靈4綠刃值得買嗎?
- Unix環境高階程式設計——第一章-UNIX基礎知識程式設計
- 美術課不及格的人玩《壁中精靈》是一種怎樣的體驗?