systemd: PID file /var/run/nginx.pid not readable (yet?) after start.
Evgeniy Berdnikov
bgx на protva.ru
Пт Ноя 24 08:06:52 UTC 2017
On Fri, Nov 24, 2017 at 07:12:31AM +0300, Maxim Dounin wrote:
> + if (read(pp[0], buf, 1) != 1) {
> + ngx_log_error(NGX_LOG_EMERG, log, ngx_errno, "read() pipe failed");
> + return NGX_ERROR;
> + }
> +
> + if (close(pp[0]) == -1) {
> + ngx_log_error(NGX_LOG_EMERG, log, ngx_errno, "close() failed");
"close() pipe failed"
> + return NGX_ERROR;
> + }
> +
> exit(0);
> }
>
> @@ -68,3 +98,26 @@
>
> return NGX_OK;
> }
> +
> +
> +ngx_int_t
> +ngx_daemon_sync(ngx_log_t *log)
> +{
> + if (ngx_daemon_fd == NGX_INVALID_FILE) {
> + return NGX_OK;
> + }
> +
> + if (write(ngx_daemon_fd, "", 1) != 1) {
> + ngx_log_error(NGX_LOG_EMERG, log, ngx_errno, "write() failed");
"write() pipe failed"
> + return NGX_ERROR;
> + }
> +
> + if (close(ngx_daemon_fd) == -1) {
> + ngx_log_error(NGX_LOG_EMERG, log, ngx_errno, "close() failed");
"close() pipe failed"
> + return NGX_ERROR;
Можно ещё заменить "pp" на "sync_fd" / "sync_pipe".
--
Eugene Berdnikov
Подробная информация о списке рассылки nginx-ru