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将不会返回提示,因为它不认为它已完成执行. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |