首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >systemctl状态显示inactive dead

systemctl状态显示inactive dead
EN

Stack Overflow用户
提问于 2016-10-05 18:45:37
回答 2查看 87K关注 0票数 24

我正在尝试编写我自己的(简单的) systemd服务,它做一些简单的事情(比如使用shell脚本将数字1到10写到文件中)。我的服务文件如下所示。

代码语言:javascript
运行
复制
[Unit]
Description=NandaGopal
Documentation=https://google.com
After=multi-user.target

[Service]
Type=forking  
RemainAfterExit=yes
ExecStart=/usr/bin/hello.sh &

[Install]
RequiredBy = multi-user.target

这是我的shell脚本。

代码语言:javascript
运行
复制
#!/usr/bin/env bash

source /etc/profile
a=0
while [ $a -lt 10 ]
do
   echo $a >> /var/log//t.txt
        a=`expr $a + 1`
done

由于某些原因,该服务无法启动,并且systemctl显示以下输出。

代码语言:javascript
运行
复制
root@TARGET:~ >systemctl status -l hello
* hello.service - NandaGopal
   Loaded: loaded (/usr/lib/systemd/system/hello.service; disabled; vendor     preset: enabled)
   Active: inactive (dead)
    Docs: https://google.com

我在试着找出前两天哪里出了问题。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-10-05 21:09:43

  • 您已设置Type=Forking,但您的服务不起作用。尝试让您的ExecStart行有一个"&“,这是不必要的。
  • 该服务是disabled,这意味着它不是enabled启动时启动。您应该运行systemctl enable hello以将其设置为在引导时启动。

您可以检查man systemd.directives,查找可以在unit文件中使用的所有指令的索引。

票数 33
EN

Stack Overflow用户

发布于 2017-05-11 12:44:26

几点:

  1. 如果您使用Type=forking,建议指定PidFile,您使用的是
  2. Type=simple,ExecStart不带&即可。
  3. 使用systemctl start service-name启动服务
  4. ,然后使用systemctl status service-name查看服务状态。如果服务未启动,状态将为inactive/dead。
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39871883

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档