Archlinux, после старта nginx появляется такая ошибка в логе.
May 08 15:10:55 alpine systemd[1]: Starting A high performance web server and a reverse proxy server...
May 08 15:10:56 alpine systemd[1]: nginx.service: Can't open PID file /run/nginx.pid (yet?) after start: Bad file descriptor
May 08 15:10:56 alpine systemd[1]: Started A high performance web server and a reverse proxy server.
systemd юнит:
# systemctl cat nginx
# /usr/lib/systemd/system/nginx.service
[Unit]
Description=A high performance web server and a reverse proxy server
After=network.target network-online.target nss-lookup.target
[Service]
Type=forking
PIDFile=/run/nginx.pid
PrivateDevices=yes
SyslogLevel=err
ExecStart=/usr/bin/nginx -g 'pid /run/nginx.pid; error_log stderr;'
ExecReload=/usr/bin/nginx -s reload
KillMode=mixed
[Install]
WantedBy=multi-user.target
В nginx.conf ничего, относящегося к делу нет.
Файл /run/nginx.pid создаётся, pid в нём присутствует.
Почитал man open, пишут, что
EBADF
(openat()) pathname is relative but dirfd is neither AT_FDCWD nor a valid file descriptor.
и совсем запутался. В исходниках systemd не осилил понять, что происходит, тут и тут если кому интересно.
Версия systemd 253.4-1-arch.
Так в принципе оно вроде работает, но это же неправильно.
/run это tmpfs, никаких симлинков вроде нигде не задействовано.
Перемещено hobbit из general