ngx_int_t ngx_daemon(ngx_log_t *log)
{
int fd;
switch (fork()) {
case -1:
ngx_log_error(NGX_LOG_EMERG, log, ngx_errno, "fork() failed");
return NGX_ERROR;
case 0:
break;
default:
exit(0);
}
私には意味がないようですが、それはpidだけを変更するだけです。このようなデーモン化の目的は何ですか?
ベニフィットとは何ですか?
これは私には理にかなって:これはあまりにも多くの詳細が含まれて答えてください。 – cpuer
@Blagovest Buyukliev、もしあなたが 'setsid'が' fork'の後に呼び出されなければ、シェルはまだそこで待つでしょうか? – cpuer
'setsid'が呼び出されなかった場合、シェルは待機しませんが、プロセスを起動したユーザーがログアウトした後にプロセスが終了します。通常、デーモンには望ましくありません。 –