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行註釋比較重要。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.