我尝试将Plone与基于systemctl的启动集成(在openSUSE 12.3上)
作为第一次尝试,我有一个非常简单的plone.service文件
[Unit]
Description=Plone content management system
After=network.target
[Service]
Type=simple
ExecStart=/srv/plone/zeocluster/bin/plonectl start
[Install]
WantedBy=multi-user.target检查systemclt status plone,我看到进程开始了,但它们又立即消失了。我也尝试过Type=Daemon,但最终结果是一样的。我的错误是什么?
该服务实际上成功地找到/执行了plonectl脚本,只是进程很快就死了
linux-wezo:/etc/systemd/system # systemctl start plone.service
linux-wezo:/etc/systemd/system # systemctl status plone.service
plone.service - Plone content management system
Loaded: loaded (/etc/systemd/system/plone.service; disabled)
Active: inactive (dead) since Mon, 2013-03-18 22:00:50 CET; 1s ago
Process: 25494 ExecStart=/srv/plone/zeocluster/bin/plonectl start (code=exited, status=0/SUCCESS)
CGroup: name=systemd:/system/plone.service
Mar 18 22:00:42 linux-wezo.site systemd[1]: Starting Plone content management system...
Mar 18 22:00:42 linux-wezo.site systemd[1]: Started Plone content management system.
Mar 18 22:00:43 linux-wezo.site plonectl[25494]: zeoserver: .
Mar 18 22:00:43 linux-wezo.site plonectl[25494]: daemon process started, pid=25502
Mar 18 22:00:46 linux-wezo.site plonectl[25494]: client1: .
Mar 18 22:00:46 linux-wezo.site plonectl[25494]: daemon process started, pid=25507
Mar 18 22:00:49 linux-wezo.site plonectl[25494]: client2: .
Mar 18 22:00:49 linux-wezo.site plonectl[25494]: daemon process started, pid=25522我确实有一个SysV风格的初始化脚本,它通过systemctl工作,但我认为有一个服务文件会很棒,因为它应该比各种不同的初始化脚本更通用。
发布于 2013-03-22 17:02:23
问题是plonectl程序不是守护进程,它是启动Zope的包装器脚本。您需要将类型更改为forking,并可能告诉systemd在哪里可以找到PID文件。
发布于 2020-08-30 03:02:09
Plonectl派生守护进程。在plone.service中尝试:
[Unit]
Description=Plone content management system
After=network.target
ConditionPathExists=/srv/plone/zeocluster/bin/plonectl
[Service]
Type=forking
ExecStart=/srv/plone/zeocluster/bin/plonectl start
ExecStop=/srv/plone/zeocluster/bin/plonectl stop
ExecReload=/srv/plone/zeocluster/bin/plonectl restart
[Install]
WantedBy=multi-user.targethttps://stackoverflow.com/questions/15461536
复制相似问题