fork函数可以产生一个子进程,和原本的进程几乎一模一样
fork调用之后会变成2个进程
1) fork 返回0 表示子进程在执行
2) 返回-1 出现错误
3)大于0 父进程在执行,返回的实际是子进程的ID
setsid() 函数调用之后 会是的子进程成为leader进程,并且与其父进程会话组脱离,进程同同时与控制端脱离