当前位置: 技术问答>linux和unix
新手的问题关于fork?
来源: 互联网 发布时间:2014-12-01
本文导语: void a() { if(fork()==0) { setsid(); signal(SIGHUP,SIG_IGN); if(fork()==0) {......} } } fork听说是创建子进程,这个函数两个fork都作了些什么呀? fork没有任何参数,不...
void a()
{
if(fork()==0)
{
setsid();
signal(SIGHUP,SIG_IGN);
if(fork()==0)
{......}
}
}
fork听说是创建子进程,这个函数两个fork都作了些什么呀?
fork没有任何参数,不像在Windows中的函数,fork创建出来的进程,去执行什么代码呀?
{
if(fork()==0)
{
setsid();
signal(SIGHUP,SIG_IGN);
if(fork()==0)
{......}
}
}
fork听说是创建子进程,这个函数两个fork都作了些什么呀?
fork没有任何参数,不像在Windows中的函数,fork创建出来的进程,去执行什么代码呀?
|
她执行的代码是你的{......}
就是
if(fork()==0)
{
....做的工作
}
就是
if(fork()==0)
{
....做的工作
}
|
void a()
{
if(fork()==0)/*创建子进程1*/
{ /*子进程1在此开始执行*/
setsid();
signal(SIGHUP,SIG_IGN);
if(fork()==0)/*创建子进程2*/
{
/*子进程2在此开始执行*/
......}
/*子进程1在此恢复*/
}
/*父进程在此恢复*/
}
{
if(fork()==0)/*创建子进程1*/
{ /*子进程1在此开始执行*/
setsid();
signal(SIGHUP,SIG_IGN);
if(fork()==0)/*创建子进程2*/
{
/*子进程2在此开始执行*/
......}
/*子进程1在此恢复*/
}
/*父进程在此恢复*/
}
|
两个FORK都是创建子进程,功能一样