【发布时间】:2018-03-13 20:51:36
【问题描述】:
我正在运行这个 systemd 命令,但是当我 screen -ls 时我看不到屏幕。
状态是活跃的,看起来还不错。
但当我检查时它实际上并没有运行。
这是.service 文件
[Unit]
Description=webhookdaemon
[Service]
ExecStart=/bin/bash path/to/script
RemainAfterExit=yes
Type=forking
Restart=on-failure
RestartSec=30
[Install]
WantedBy=multi-user.target
这里是脚本(路径/到/脚本)
screen -S docker-hub-daemon -d -m npm run start --prefix /root/nodeserver/
这是状态输出
webookdaemon.service - webhookdaemon
Loaded: loaded (/etc/systemd/system/webookdaemon.service; enabled; vendor preset: enabled)
Active: active (exited) since Tue 2018-03-13 19:55:15 UTC; 57min ago
Main PID: 2144 (code=exited, status=0/SUCCESS)
CGroup: /system.slice/webookdaemon.service
Mar 13 19:58:29 aggregate-terminal-logs-tor1-01 systemd[1]: Started webhookdaemon.
Mar 13 19:59:03 aggregate-terminal-logs-tor1-01 systemd[1]: Started webhookdaemon.
Mar 13 20:00:22 aggregate-terminal-logs-tor1-01 systemd[1]: Started webhookdaemon.
Mar 13 20:01:21 aggregate-terminal-logs-tor1-01 systemd[1]: Started webhookdaemon.
Mar 13 20:02:26 aggregate-terminal-logs-tor1-01 systemd[1]: Started webhookdaemon.
Mar 13 20:04:41 aggregate-terminal-logs-tor1-01 systemd[1]: Started webhookdaemon.
Mar 13 20:47:41 aggregate-terminal-logs-tor1-01 systemd[1]: Started webhookdaemon.
Mar 13 20:49:53 aggregate-terminal-logs-tor1-01 systemd[1]: Started webhookdaemon.
Mar 13 20:52:53 aggregate-terminal-logs-tor1-01 systemd[1]: Started webhookdaemon.
root@aggregate-terminal-logs-tor1-01:~#
【问题讨论】:
-
表示服务已启动。究竟是什么问题?
-
您是否看到任何使用
ps -ef | grep <process>运行的进程? -
你能写出你用来启动服务的命令吗?
-
为什么要使用screen来启动docker?
-
使用 systemd 你不需要使用屏幕,你应该只使用
npm startinExecStart并删除 Type=forking... 如果你想使用 ash 因为你想加载你的.bashrc 和其他东西.. 在你的 npm 启动之前使用 exec(并放弃屏幕)