加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

systemd – golang app的服务文件

发布时间:2020-12-16 19:22:47 所属栏目:大数据 来源:网络整理
导读:所以我写了一个golang应用程序,我希望每当我的服务器重新启动时都会被systemd初始化. 这是服务文件: – [Unit]Description=golang wiki initialization[Service]Type=forkingPIDFile=/tmp/gowiki.pid-3030User=rootGroup=rootWorkingDirectory=/var/wwwExec
所以我写了一个golang应用程序,我希望每当我的服务器重新启动时都会被systemd初始化.

这是服务文件: –

[Unit]
Description=golang wiki initialization

[Service]
Type=forking
PIDFile=/tmp/gowiki.pid-3030
User=root
Group=root
WorkingDirectory=/var/www
ExecStart=/bin/bash -c 'daemonize -o stdout.log -e stderr.log /var/www/wiki'

[Install]
WantedBy=multi-user.target

每当我重新启动服务器时,它似乎运行良好,但当我在终端手动启动或重新启动gowiki时,我仍然遇到轻微的烦恼问题: –

systemctl start gowiki

要么

systemctl restart gowiki

这确实让我的gowiki进程运行;但是,在我执行我的systemctl start gowiki命令后,我被冻结在我的终端中,并且在我手动强制执行Ctrl-C之前,命令似乎没有退出.

我造成这个问题的错误是什么?

这很有效.
[Unit]
Description=golang wiki initialization

[Service]
PIDFile=/tmp/gowiki.pid-4040
User=root
Group=root
WorkingDirectory=/var/www
ExecStart=/bin/bash -c '/var/www/wiki'

[Install]
WantedBy=multi-user.target

因为Type = forking服务期望父服务在服务实际启动之前退出.如果父节点永不退出,则systemctl start将不会返回提示,因为它不认为它已完成执行.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读