Articles of systemd

httpd服务启动之前的源脚本

回到过去的美好时代,我可以使用一些额外的代码来修补/etc/rc.d/init.d/httpd,这些代码在每一个apache启动时执行: start() { echo "Setting variables…" source /path/to/my/script.sh echo -n $"Starting $prog: " check13 || exit 1 LANG=$HTTPD_LANG daemon $httpd $OPTIONS RETVAL=$? echo [ $RETVAL = 0 ] && touch ${lockfile} return $RETVAL } source /path/to/my/script.sh负责设置PHP扩展所需的一些环境variables。 无论如何,在systemd之后,systemctl占上风我无法configuration我的系统在Apache启动之前自动加载script.shvariables。 手动执行时: /usr/sbin/httpd -k stop source /path/to/my/script.sh /usr/sbin/httpd -k start 一切正常。 在使用systemd服务pipe理器的Fedora 4.0和类似系统上实现这一点的正确方法是什么?

在segfault上自动重启php-fpm

我想在段错误后重新启动php-fpm。 我在ubuntu 14.04上运行php-fpm。 它使用暴发户来检查服务。 我尝试使用respawn选项设置自动重启,但在SIGSEGV php-fpm之后没有重启。 你能build议 – 什么是最好的方式来总是PHP。 谢谢。 root@xcart5:~# cat /etc/init/php5-fpm.conf | grep resp respawn respawn limit unlimited root@xcart5:~# service php5-fpm restart root@xcart5:~# ps ax | grep php | wc -l 2 root@xcart5:~# service php5-fpm restart root@xcart5:~# ps ax | grep php 2786 ? Ss 0:00 php-fpm: master process (/etc/php5/fpm/php-fpm.conf) 2799 ? S+ […]

由于没有规则,spamassassin启动失败,sa-update什么也不做?

将我的服务器升级到Debian Jessie后,spamassassin不再启动。 日志和如下所示: 使用systemctl调用spamassassin $ sudo systemctl status spamassassin ● spamassassin.service – Perl-based spam filter using text analysis Loaded: loaded (/lib/systemd/system/spamassassin.service; enabled) Active: failed (Result: exit-code) since Sun 2015-08-30 11:34:01 CEST; 8s ago Process: 28007 ExecStart=/usr/sbin/spamd -d –pidfile=/var/run/spamassassin.pid $OPTIONS (code=exited, status=255) Aug 30 11:34:00 alchemist spamd[28007]: logger: removing stderr method Aug 30 11:34:00 alchemist spamd[28009]: […]

不能在debian wheezy中启动systemd

我正在使用Debian Wheezy 7.8,并且想要启动uwsgi作为服务。 我安装了systemd( apt-get install systemd ),并编辑了grub( vim /etc/default/grub )并更新了这一行: GRUB_CMDLINE_LINUX_DEFAULT="quiet init=/bin/systemd" 我更新了grub并重新启动了系统。 但是,当我给这个: systemctl 我得到这个: Failed to get D-Bus connection: No connection to service manager. 当我给ps aux我得到这个: USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.0 10648 808 ? Ss 07:06 0:00 init [2] PID 1不应该被系统化吗? 我究竟做错了什么?

无法使用systemctl启用查询服务

在Debian Jessie上,systemd看起来工作得很好: $ sudo systemctl enable shibd.service Synchronizing state for shibd.service with sysvinit using update-rc.d… Executing /usr/sbin/update-rc.d shibd defaults Executing /usr/sbin/update-rc.d shibd enable “开始”,“停止”和“状态”命令都可以工作。 但is-enabled命令失败: $ sudo systemctl is-enabled shibd.service Failed to get unit file state for shibd.service: No such file or directory 另一方面,用sssd,ssh也是'is-enabled'的作品: $ sudo systemctl is-enabled sssd.service enabled 我想解决这个问题,因为木偶试图在每次运行中重新启用服务。

无法获得Java应用程序使用systemd作为服务运行/启动

我正在尝试使用我的Centos 7上的systemd来启动一个Java应用程序(服务器)作为服务启动,但始终失败。 这是我的push.service [Unit] Description=b4xpush server After=syslog.target After=network.target [Service] ExecStart=/usr/java/jdk1.8.0_45/bin/java -jar /home/mike/push/PushServer.jar Type=simple Restart=on-failure [Install] WantedBy=multi-user.target 创build文件后,我开始使用 sudo systemctl start Push.service 但徒然 如果我手动运行它,java应用程序将运行正常: /usr/java/jdk1.8.0_45/bin/java -jar /home/mike/push/PushServer.jar 要么 java -jar /home/mike/push/PushServer.jar 我怎样才能让它运行? 最终目标是在服务器引导时启动它。 这可能是一个权限错误? 当我尝试创build这个我login为迈克,我有“sudo”权利。 该应用程序(jarfile)位于我的家庭文件夹,你可以在上面的服务文件中看到。 我已经尝试了所有我能想到的东西,但是我无法解决它并让它起作用。 有任何想法吗? 编辑:使用状态添加日志文件: [mike@vps ~]$ sudo systemctl status Push.service -l Push.service – b4xpush server Loaded: loaded (/etc/systemd/system/Push.service; disabled) Active: failed […]

Debian Dist升级到Jessie(8) – 仍然init.d?

我dist-updates我的debian框,现在我提到一些奇怪的行为: 如果我尝试使用systemctl启动服务,我得到这个错误: 无法获得D-Bus连接:未知错误-1 如果我尝试安装systemd和systemd-sysv系统告诉我它已经安装: root@me:# apt-get install systemd systemd-sysv Paketlisten werden gelesen… Fertig Abhängigkeitsbaum wird aufgebaut. Statusinformationen werden eingelesen…. Fertig systemd ist schon die neueste Version. systemd-sysv ist schon die neueste Version. 0 aktualisiert, 0 neu installiert, 0 zu entfernen und 0 nicht aktualisiert. stat /proc/1/exe显示我以下内容: Datei: „/proc/1/exe“ -> „/sbin/init (deleted)“ Größe: 0 Blöcke: 0 […]

无法删除sysemd单元文件中的locking文件

我在RHEL7系统上遇到了一个非常奇怪的问题。/run/puppetboot.lock文件在单元文件执行结束时没有被删除。 奇怪的是,当我用'/ usr / bin / true'replace'puppet agent'行时,那么它们的locking文件就会按预期被删除。 [Unit] Description=Extra Puppet runs Wants=basic.target Before=puppet.service After=basic.target network.target puppetmaster.service [Service] Type=oneshot RemainAfterExit=yes EnvironmentFile=-/etc/sysconfig/puppetagent EnvironmentFile=-/etc/sysconfig/puppet ExecStart=/usr/bin/touch /run/puppetboot.lock ExecStart=/usr/bin/puppet agent –onetime –no-daemonize –ignoreschedules ExecStart=/usr/bin/puppet agent –onetime –no-daemonize –ignoreschedules ExecStart=/usr/bin/rm -f /run/puppetboot.lock ExecStart=/bin/bash -c "/bin/test -x /usr/local/sbin/reboot-if-needed && /usr/local/sbin/reboot-if-needed" [Install] WantedBy=multi-user.target puppet.service 我使用locking文件作为早期启动configuration和设置完成的信号,以便我可以向pipe理员发送电子邮件以进行构build后configuration。 我希望避免添加一个systemd单元文件只是为了在build立新的服务器之后向我发送警告邮件。

LXC错误 – >无法重置/lxc/103/system.slice/proc-diskstats.mount上的devices.list:权限被拒绝

不幸的是,我在debian 8 LXC容器中收到了很多这样的错误: Failed to reset devices.list on /lxc/103/system.slice: Permission denied Dec 17 16:34:37 systemd[1]: Failed to reset devices.list on /lxc/103/system.slice/php5-fpm.service: Permission denied Dec 17 16:34:37 systemd[1]: Failed to reset devices.list on /lxc/103/user.slice: Permission denied Dec 17 16:34:37 systemd[1]: Failed to reset devices.list on /lxc/103/system.slice/psa-firewall.service: Permission denied Dec 17 16:34:37 systemd[1]: Failed to reset devices.list […]

在systemd中停止服务时触发目标

我有一个情况,我在一个环境中使用systemd,我有一个主要的应用程序,应该在启动时启动,当应用程序退出closures应启动。 我已经创build了目标和服务文件,导致应用程序在启动时启动,但是当文件干净地退出时,我看不到如何触发closures。