1,建立子進程,父進程退出(if(pid>0)exit(0))code
2,在子進程中建立新會話(setsid()便可)進程
3,改變當前目錄爲根目錄(chdir("/")便可)it
4,重設文件權限掩碼(umask(0)便可)io
5,關閉文件描述符class
代碼以下:(用完記得殺死否則這種程序多了你的機子會很卡 kill -9 進程號)循環
用 ps axj |grep a.out 可查看進程號權限
#include<stdio.h> #include<unistd.h> #include<stdlib.h> int main() { pid_t pid; int fd; if((pid = fork()) == -1) { perror("fork"); return 0; } if(pid > 0) exit(0); setsid(); chdir("/"); umask(0); for(fd=0;fd<1024;fd++) close(fd); while(1);//用死循環能夠方便查看到進程號 return 0; }