1.守護(hù)進(jìn)程(幽靈進(jìn)程)
#include<stdio.h>
#include<head.h>
int main(int argc, const char *argv[])
{
pid_t cpid = fork();
if(0==cpid)
{
//創(chuàng)建新的會(huì)話
pid_t sid=setsid();
printf("sid=%d\n",sid);
//修改運(yùn)行目錄為不可卸載的文件目錄下
chdir("/");
//清空文件權(quán)限掩碼
umask(0);
//關(guān)閉所有文件描述符
for(int i=0;i<getdtablesize();i++)
close(i);
while(1)
{
//守護(hù)進(jìn)程運(yùn)行的周期性代碼
}
}
return 0;
}
2.輸出一個(gè)時(shí)鐘,終端輸入quit時(shí)退出時(shí)鐘
#include<stdio.h>
#include<head.h>
int main(int argc, const char *argv[])
{
char a[20]="";
pid_t cpid = fork();
FILE *fp=fopen("1.txt","w");
if(cpid>0)
{
sleep(1);
scanf("%s",a);
fputs(a,fp);
fclose(fp);
while(1)
{
pid_t pid=waitpid(-1,NULL,WNOHANG);
if(pid>0)
break;
}
}
if(0==cpid)
{
FILE *fp=fopen("1.txt","r");
time_t t;
struct tm* info=NULL;
while(1)
{
t=time(NULL);
info = localtime(&t);
printf("%d-%02d-%02d %02d:%02d:%02d\r",\
info->tm_year+1900,info->tm_mon+1,info->tm_mday,\
info->tm_hour,info->tm_min,info->tm_sec);
fflush(stdout);
sleep(1);
fgets(a,5,fp);
if(0==strcmp(a,"quit"))
exit(0);
}
fclose(fp);
}
return 0;
}
?
?
?文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-628026.html
?文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-628026.html
到了這里,關(guān)于IO進(jìn)程線程第五天(8.2)進(jìn)程函數(shù)+XMind(守護(hù)進(jìn)程(幽靈進(jìn)程),輸出一個(gè)時(shí)鐘,終端輸入quit時(shí)退出時(shí)鐘)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!