I am trying to run a Node.js API as a service, but am running into problems.
When running systemctl status servicename.service
I get the following error:
servicename.service - [Service description]
Loaded: leaded (/etc/systemd/system/servicename.service; enabled; vendor preset: enabled)
Active: failed (Result: start-limit-hit) since [timestamp] ago
Process: 1142 ExecStart=/usr/bin/node /home/pi/Documents/server.js (code=exited, status=0/SUCCESS)
Main PID: 1142 (code=exited, status=0/SUCCESS)
[timestamp] hostname systemd[1]: servicename.service: Service hold-off time over, scheduling restart.
[timestamp] hostname systemd[1]: Stopped [Service description]
[timestamp] hostname systemd[1]: servicename.service: Start request repeated too quickly.
[timestamp] hostname systemd[1]: Failed to start [Service description]
[timestamp] hostname systemd[1]: servicename.service: Unit entered failed state.
[timestamp] hostname systemd[1]: servicename.service: Failed with result 'start-limit-hit'.
What is this error and how can I resolve this issue?
I would like to run the script with sudo
since part of the script needs admin permissions.
Probably a more correct answer:
systemctl reset-failed servicename.service
Taken from https://serverfault.com/questions/930047/how-to-bypass-systemd-start-request-repeated-too-quickly
Run
mkdir /var/run/sshd
then
systemctl restart ssh
:thumbsup:
DONE!
When you have
start-limit-hit
orStart request repeated too quickly
it may be due to aRestart=on-failure
directive in the service definition. Chances are, there is an initial reason for the error but it's hidden behind the one you see.To find out: (obviously, replace carbon-relay-ng with your service)
systemctl status carbon-relay-ng
nano /lib/systemd/system/carbon-relay-ng.service
Restart=on-failure
and save file (second image)systemctl restart carbon-relay-ng
systemctl status carbon-relay-ng
to check real errorReal error
For me it revealed the following error which I had to correct by setting the file permissions:
I was also struggling with this same error. It happened due to the restart of the application again and again. In my scenario, my app was not running as systemd service it was running like a demon mode. Check if your application is running as
demon
orsystemd
.