Linux 學習第一篇

其實小一志在不是做Linux 管理員,學習的原因先不說了,以免笑話。今天第一篇,發個Linux 守護進程的。實在慚愧,沒有什麼技術含量。亂貼代碼和截圖。旨在千里之行,始於足下!
自創的一個守護進程,朋友們自己家尖括號吧:

#include  stdio.h 
#include  unistd.h
#include  stdlib.h
#include  sys/types.h
#include  sys/stat.h
#include fcntl.h
#include string.h

int main(){
 int fd , i;
 char *content ="yiran\n";

 pid_t pid = fork(); //create process , exit parent

 if(pid<0)  exit(1);
 else if(pid>0) exit(0);

 setsid();

 for(i=0;i<10076; i++) close(i);  //close all fd 

 chdir("/"); // change dir

 umask(0); // init umask 

 while(1){   // do task 
 
     fd = open("/tmp/mylog.log",O_CREAT|O_RDWR|O_APPEND,06666);
     if(fd>0){
   write(fd,content,strlen(content));  
            close(fd);  
 }
     sleep(3);
  }

}


執行操作:
將該文件編譯後放到home/yiran(可自定義) 下
找到etx/init.d 下的rc 文件 vi 打開 修改在Path 下添加如下路徑:/home/yiran/logd(logd爲上述文件編譯後的文件名)
保存退出 
reboot Linux

用 ps -ef | more  便可查到自己的寫的守護進程。小一建議:
1:進程號靠前,多按幾次空格。 
2:代碼裏的5行註釋比較重要。  

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章