Рабочий стол Upstart node.js
Запуск Node.js с помощью Upstart при попытке доступа к файлам в Node.js он не может получить к ним доступ, не используя полный путь. Мне нужно, чтобы он работал с рабочим каталогом.
start on startup
stop on shutdown
script
echo $$ > /var/run/mynodeapp.pid
exec sudo -u mynodeapp node server.js >> /var/log/mynodeapp.sys.log 2>&1
end script
pre-start script
echo "Starting" >> /var/log/mynodeapp.sys.log
end script
pre-stop script
rm /var/run/mynodeapp.pid
echo "Stopping" >> /var/log/mynodeapp.sys.log
end script
Ответы
Ответ 1
Решение заключается в изменении каталога в script. В моем случае пользователь mynodeapp и node находятся в каталоге пользователей (/home/mynodeapp/).
script
chdir /home/mynodeapp/
echo $$ > /var/run/mynodeapp.pid
exec sudo -u mynodeapp node server.js >> /var/log/mynodeapp.sys.log 2>&1
end script
Мне еще предстоит выяснить, что означает $$ на эхо-строке или 2 > & 1. Может быть, кто-то мог бы услышать это, если они знают!