我在我的服务器上安装了“让我们聊天”。 在文档中,他们说要启动应用程序 npm start 从应用程序的安装目录中。 但是我无法用systemd启动它。 我希望应用程序始终在线。 所以它工作,如果我手动启动 cd /MIDDLE/uow/lets-chat/ && /bin/npm start 但是如果我从systemdconfigurationExecstart中的行,则不行。 我尝试使用相同的行,我试着用npm,我试着用“node ./apps.js”: ExecStart=/usr/bin/cd /MIDDLE/uow/lets-chat/ && /usr/local/bin/node /MIDDLE/uow/lets-chat/app.js (我尝试用或不用绝对path来执行我的命令,但是它没有任何改变)。 我不知道如何在我的centos中像deamon一样启动这个应用程序。 我该怎么办? 谢谢, 一个。
我知道MaxLevelStore , MaxLevelSyslog , MaxLevelKMsg , MaxLevelConsole , MaxLevelWall但他们的问题是,他们影响所有单位。 麻烦的是,不是所有的开发者*咳嗽* kde *咳嗽* gtk *咳嗽*了解警告和debugging之间的区别。 因此,我需要不同的设置不同的单位。 我已经阅读了手册页,arch / gentoo维基,在我看来,这样一个简单的概念并不存在:S
我有一个初始化脚本,如下所示 #!/bin/bash # description: connect start | stop | restart | install # processname: tomcat # chkconfig: 234 99 01 JAVA_HOME=/ export JAVA_HOME PATH=$JAVA_HOME/bin:$PATH export PATH CATALINA_HOME=/ ulimit -v unlimited -m.. LOG_COPY_FOLDER=$(date +"%Y-%m-%d_%H%M") case $1 in start) JAVA_OPTS='-Xms160g -Xmx160g -XX:+ResetSignal_MaskAtLaunch -Xloggc:/tom….' export JAVA_OPTS echo "Using JAVA_OPTS: $JAVA_OPTS" find $CATALINA_HOME/logs_prev/* -type d -ctime +180 | xargs […]
我有两个脚本,第二个依靠第一个脚本: b_reb : 该脚本为第二个脚本创build一个单元文件。 只有root用户login后才能启动a_reb服务,并且应该以root身份执行同一个会话。 这是b_reb脚本: #!/bin/bash # Installing updates and other software echo "Creating systemd unit file…" cat << EOF > /usr/lib/systemd/system/a_reb.service [Unit] Description="Basic setup" [Service] WorkingDirectory=$(pwd) Type=forking ExecStart=/bin/bash $(pwd)/a_reb KillMode=process [Install] WantedBy=multi-user.target EOF echo "Enabling a_reb at startup…" systemctl enable a_reb.service reboot now 所以服务器重新启动并且根login。现在在同一个会话中, a_reb应该通过启动a_reb.service来执行。 我还没有作出a_reb ,但其内容是无关紧要的。 例如:一旦rootlogin, a_reb被执行,并输出一个提示让root来回答。 我希望我能正确解释自己。 我也接受其他方式做这个。 主要思想是b_reb做一些事情然后重新启动,此后a_reb在重新启动之后a_reb运行。 [UPDATE] […]
我有一个运行named-chroot的CentOS7服务器。 这个问题是命名的,named-chroot在CentOS7中是独立的systemd服务,我有一个稳定的系统和一个短暂的内存。 几个月之间,任何需要BIND维护。 当我有BIND工作要做,我总是忘记打字 systemctl restart named-chroot 而不是键入 systemctl restart named 如果我弄错了,没有任何警告,我开始不正确的服务。 我想使用systemdconfiguration来编辑指定的服务,提醒我我犯了一个错误。 这是我已经得到覆盖标准的命名服务:我使用 systemctl edit named 并放入以下内容: [Unit] Description=You want named-chroot Wants= Before= After= [Service] Type=simple EnvironmentFile= Environment= ExecStartPre= ExecStart= ExecStart=/bin/bash -c "/usr/bin/echo 'No, you want named-chroot'" ExecReload= ExecReload=/bin/bash -c "/usr/bin/echo 'No, you want named-chroot'" ExecStop= ExecStop=/bin/bash -c "/usr/bin/echo 'No, you want named-chroot'" StandardOutput=journal+console […]
我有一个PHP脚本,我正在尝试创build一个服务。 我已经创build了服务,但是我无法启动它。 奇怪的是,完全相同的服务单位工作在我的另一台服务器上相同的设置。 PHP脚本被设置为使用-d开关进行守护进程。 该命令本身工作得很好,但不通过systemd。 这是我得到的 ● serverio.service – Socket Server Service Loaded: loaded (/etc/systemd/system/multi-user.target.wants/serverio.service) Active: inactive (dead) since Wed 2017-01-18 23:41:49 UTC; 2s ago Process: 22921 ExecStop=/usr/bin/php /opt/sockets/server.php stop (code=exited, status=0/SUCCESS) Process: 22917 ExecStart=/usr/bin/php /opt/sockets/server.php start -d (code=exited, status=0/SUCCESS) Main PID: 22917 (code=exited, status=0/SUCCESS) Jan 18 23:41:49 hostname systemd[1]: Started SocketIO Server Service. Jan […]
当我尝试启动/重新启动/停止/状态的zabbix代理服务。 我得到以下错误。 我确切地说我已经做了一个安装,然后清除 – 删除它来安装另一个版本(升级)。 因为我得到这个错误: Failed to start zabbix-agent.service: unit zabbix-agent.service is masked.
正如标题所说,重新启动系统后, postfix服务将不会启动。 我们正在使用我们自己定制的基于OpenSuse 12.1的Linux操作系统,最近validation部门发现由于在postfix的maildrop队列中取消发送邮件, /var版本库变得越来越大。 谁寄这些邮件? 我们有一些在系统之间共享一些日志的应用程序。 我正在寻找不同types的论坛为我的答案没有任何成功。 rebbot之后: $systemctl status postfix.service postfix.service – Postfix Mail Transport Agent Loaded: loaded (/etc/systemd/system/postfix.service; enabled) Active: inactive (dead) CGroup: name=systemd:/system/postfix.service 我在这里findPostfix在重新启动时不启动 ,问题可能是与sendmail可能的冲突。 为了确保sendmail程序与postfix连接良好: $ ldd /usr/sbin/sendmail linux-vdso.so.1 => (0x00007fffa25ff000) libpostfix-global.so.1 => /usr/lib64/libpostfix-global.so.1 (0x00007fdb174d2000) libpostfix-util.so.1 => /usr/lib64/libpostfix-util.so.1 (0x00007fdb1729a000) libc.so.6 => /lib64/libc.so.6 (0x00007fdb16f0a000) libdl.so.2 => /lib64/libdl.so.2 (0x00007fdb16d06000) libdb-4.8.so => /usr/lib64/libdb-4.8.so […]
我有一个systemd服务,使用以下configuration(在/etc/systemd/system/my-service.service ): [Unit] Description=My service [Service] WorkingDirectory=/path/to/my/service User=some-user Group=some-group Restart=on-failure RestartSec=20 5 ExecStart=my-service-binary [Install] WantedBy=multi-user.target 程序启动时,它提供了一个命令行界面以允许交互。 但是,由于这个程序是由systemd运行的,我不能立即看到直接与程序交互的方式。 有什么方法可以“连接”程序提供的stream,而在systemd中作为服务运行?
我正在尝试为CentOS 7 netboot映像创build自定义networkingpipe理服务。 该服务获取主机上所有接口的列表,find具有物理连接的接口,然后使用它来获取DHCPconfiguration。 问题是要确保它在系统中存在所有networking设备之后启动,因此可以获取它们的列表。 这是我的单元文件: [Unit] Description=Configure networking Wants=network.target After=network-pre.target Before=network.target multi-user.target [Service] ExecStart=/usr/local/bin/netboot-cfg Type=oneshot RemainAfterExit=yes [Install] WantedBy=multi-user.target 正如您所看到的,它在network-pre目标之后, network目标之前运行。 我用systemd-analyze plot证实了这一点。 但是,在启动过程中,无法在系统中find任何接口。 该列表是通过查看/sys/class/net目录创build的。 sys-subsystem-net-devices-<iface>.device单元稍后启动,我猜测它是填充该目录的。 networking设备单元在network.target之后启动似乎很奇怪。 所以问题是:如何使用systemd单元文件语法可靠地确定所有接口何时可用?