【发布时间】:2017-02-13 02:40:16
【问题描述】:
我正在尝试在启动时立即运行二进制 monerod,它运行但在之后立即被杀死。
Upstart .conf 代码:
start on started [redis]
stop on shutdown
script
exec /home/crypto/daemon/monerod
end script
pre-stop script
echo /var/log/upstart/monerod.log >> /home/crypto/monero.log
end script
monerod.log 来自 /var/log/upstart :
^[[0m^[[1;37m2016-Oct-04 18:38:52.388997 Loading precomputed blocks: 1138751
^[[0m^[[1;32m2016-Oct-04 18:38:52.443751 Blockchain initialized. last block: 0,$
^[[0m^[[1;37m2016-Oct-04 18:38:52.659898 Core initialized OK
^[[0m^[[1;37m2016-Oct-04 18:38:52.660009 Starting core rpc server...
^[[0m^[[1;37m2016-Oct-04 18:38:52.660192 Run net_service loop( 2 threads)...
^[[0m^[[1;37m2016-Oct-04 18:38:52.660551 [SRV_MAIN]Core rpc server started ok
^[[0m^[[1;37m2016-Oct-04 18:38:52.660875 [SRV_MAIN]Starting p2p net loop...
^[[0m^[[1;37m2016-Oct-04 18:38:52.661142 [SRV_MAIN]Run net_service loop( 10 thr$
^[[0m^[[1;37m2016-Oct-04 18:38:52.661169 [node] Stop signal sent
^[[0m^[[1;37m2016-Oct-04 18:38:52.661197 [SRV_MAIN]net_service loop stopped.
^[[0m^[[1;37m2016-Oct-04 18:38:52.661465 [SRV_MAIN]p2p net loop stopped
^[[0m^[[1;37m2016-Oct-04 18:38:52.661512 [SRV_MAIN]Stopping core rpc server...
^[[0m^[[1;37m2016-Oct-04 18:38:52.661690 [SRV_MAIN]Node stopped.
^[[0m^[[1;37m2016-Oct-04 18:38:52.661735 [SRV_MAIN]Deinitializing rpc server...
^[[0m^[[1;37m2016-Oct-04 18:38:52.661969 [SRV_MAIN]Deinitializing p2p...
^[[0m^[[1;37m2016-Oct-04 18:38:52.662407 [SRV_MAIN]Deinitializing core...
^[[0m^[[1;37m2016-Oct-04 18:38:52.662600 [SRV_MAIN]Closing IO Service.
^[[0m^[[1;37m2016-Oct-04 18:38:52.663436 [SRV_MAIN]Deinitializing cryptonote_pr$
^[[0mCreating the logger system
如您所见,脚本以某种方式终止 @“[node]: stop signal sent”。 该脚本在我手动运行时运行良好,并且当我从执行程序的 shell 运行它时,只有当我将它用作服务时它才不起作用。
在服务实际使用 DSAT 运行的短时间内,我还诊断出 CPU 和 RAM 的使用情况,两者的使用率约为 1%,因此不存在硬件短缺。
服务器规格:2GB 内存和 2CPU 内核 (DigitalOcean)
任何帮助将不胜感激!
【问题讨论】:
-
我不知道您尝试运行的二进制文件,但在这些情况下的一个常见原因是它每次都以不同的用户身份运行。您确定要使用同一用户运行它吗?
-
它在启动时运行,所以我假设它在 root 用户下运行。
-
既然你以 root 身份运行它并成功完成,我会检查这个二进制文件是否需要其他服务运行(另一个常见的启动失败)并配置它(
http://askubuntu.com/questions/21378/how-can-i-make-sure-one-upstart-job-starts-before-other-upstart-jobs)在它们之后启动。
标签: ubuntu server startup ubuntu-16.04 upstart