守护进程?
在 linux 下如何实现如下功能:监视一个进程的运行状态,如果该进程退出了,则重新启动该进程?
看到有资料说好像是用到什么 守护进程 ?
搜到一段代码,不知道是什么意思,麻烦解释一下
void init_daemon( void )
{
intpid;
int i;
if( pid = fork() )
exit( 0 );
else if( pid < 0 )
exit( 1 );
setsid();
if( pid = fork() )
exit( 0 );
else if( pid < 0 )
exit( 1 );
for( i = 0; i < NOFILE; i++ )
close( i );
chdir( "/tmp" );
umask( 0 );
}
int main( void )
{
FILE *fp;
time_t tt;
init_daemon();
while( 1 ) {
sleep( 5 );
if( fp = fopen("test.log", a) ) {
tt = time( 0 );
fprintf( fp, "I'm here at %s\n", asctime(localtime(&tt)) );
fclose( fp );
}
}
}