我正在使用NPM軟件包service-systemd來監視NodeJS應用程序,並在它崩潰或死機的情況下重新啓動它。如何使用npm自動啓動服務service-systemd
當我運行 'sudo的節點systemd添加服務template.json',我得到:
WARNING: wrap.bin not found
parsing ...
writing script start/stop files, logrotate.d ...
> chmod a+x /usr/local/bin/systemd-my-node-service*
writing systemd file ...
/etc/systemd/system/my-node-service.service
installing ...
> systemctl enable my-node-service.service;systemctl daemon-reload
done
當我嘗試運行 'sudo的服務啓動',該服務失敗。檢查「journalctl」顯示:
Starting service...
/usr/local/bin/systemd--start: line 2: /usr/bin/forever: No such file or directory
PID file /var/run/.pid not readable (yet?) after start.
Failed to start service
Unit .service entered failed state.
.service failed.
我發現一些消息來源暗示像符號鏈接的事情,但是沒有,這似乎解決問題。任何想法這裏發生了什麼?
使用Ubuntu 15.04和NodeJS v0.10.40在Odroid XU4上運行此操作。
感謝,
如使用硬配置systemd應用程序的替代,嘗試使用泊塢容器重新啓動策略: https://docs.docker.com/engine/reference/run/#restart-policies-restart –
碼頭集裝箱對我來說是新的。這對永久/ systemd節點包有什麼好處? 它檢查服務是否被凍結? 我問,因爲這項服務使用USB 2.0 BLE加密狗,有時關閉(我認爲這是來自XU4 USB集線器的DC電流問題,但我需要使這個東西防彈,所以我仍然在尋找解決方案),因此需要重新啓動該服務,以使其能夠被藍牙守護進程重新'恢復'。我沒有信心,我總是可以永遠趕上/ systemd。 – RoboArch
容器在應用程序級別很有用。您也可以使用設備:https://docs.docker.com/engine/userguide/storagedriver/device-mapper-driver/但它很難配置,性能較差。如果服務被凍結,我不確定自動重啓。 –