我正在编写自己的通用init脚本,我已经从各处采取策略,并提出了 trap 'kill $(jobs -p)' EXIT; until $DAEMON $DAEMONOPTS > /var/log/${NAME}.log 2>&1 & wait ; do echo "Server '$NAME' crashed with exit code $?. Respawning.." > /var/log/${NAME}.log 2>&1 & echo $! sleep 1 done 它停止正确杀死subprocess,如果死亡则重启服务。 现在我必须将这段代码作为后台作业而不是直接启动) 我已经testing过的简单解决scheme就是将这个部分移到自己的脚本中。 然而,我想知道是否有办法将这些命令分组并将它们发送到后台,而不需要第二个shell脚本来移动。 理想情况下,我想把它作为一个要点,所以它应该都在一个单一的文件。 这甚至有可能吗?
我有一个简单的bash脚本,我想作为一个守护进程运行… #!/bin/bash while true; do crontab cron sleep 58m done 我运行这个守护进程使用这个命令… setsid copy_cron.sh >/dev/null 2>&1 < /dev/null & [1] 17025 但一旦运行,我无法find一个进程在ps -aux ..? 如何确保守护进程正在运行,或者如果需要的话就杀掉它?
根据https://www.freedesktop.org/software/systemd/man/systemd.unit.html ,默认的单位path是… / etc / systemd / system:本地configuration / run / systemd / system:运行时单位 / usr / lib / systemd / system:已安装软件包的单位 如果我正在编写脚本来将软件安装到服务器,而不是使用软件包pipe理器,那么这些位置在技术上都不是正确的。 由于这是由安装程序脚本设置的,即使没有使用Linux发行版的软件包pipe理器,/ usr / lib / systemd / system目录似乎也比/ etc / systemd / system更为正确。 是对的吗? 我想过尝试修改SYSTEMD_UNIT_PATH以增加类似/ opt / lib / systemd / system的内容,但我确信这是一个坏主意。
我在我的服务器上安装了“让我们聊天”。 在文档中,他们说要启动应用程序 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一样启动这个应用程序。 我该怎么办? 谢谢, 一个。
我试图将远程服务器的内容复制到本地计算机上。 这是我正在使用的命令: nohup rsync -chavP -e 'ssh -p 23' –stats user@ipaddress:~/great/stuff /volume1/code > ~/rsynclog & 我对上述命令的理解是它应该创build一个守护进程( nohup & ),它与我的terminal会话完全断开。 因此,我应该能够安全地closures我的terminal,让这个过程继续下去。 这个过程确实按照预期开始。 但是,如果我closures了terminal会话,该进程将不再显示在ps aux | grep rsync ps aux | grep rsync 。 这个过程显然已经死了,你可以在rsynclog中看到: receiving incremental file list Killed by signal 1. rsync error: unexplained error (code 255) at rsync.c(615) [Receiver=3.0.9] 这是我closuresterminal的直接结果。 如果我把terminal打开几个小时,那么rsync工作正常。 但是,一旦我closures它,这个过程就会消失。 有没有人对nohup足够的了解来解释它为什么似乎不在这里工作? 我使用Windows […]
我正在寻找安装一个IRC守护进程,以及服务(如果它们不包括在IRC守护进程中)在一个虚拟服务器上的可变内存分配量,我想知道有多less内存和CPU守护进程平均起来,以及它演示的是什么样的行为(CPU峰值,内存峰值,类似的事情)。 我倾向于UnrealIRCD大部分,但如果有被devise为“轻”的守护进程,我愿意提供build议。
我们有一个已经在Ubuntu 8.04桌面的几个实例上运行的系统。 它有一堆守护进程(其中一个是基于PHP的)需要运行,他们在我们现有的Ubuntu桌面实例上工作。 现在,我试图在Ubuntu 8.04服务器上设置相同的系统,但是我得到了这个: $ sudo /etc/init.d/bar start start-stop-daemon: Unable to start /opt/Foo/bar/bar.php: No such file or directory (No such file or directory) 文件opt/Foo/bar/bar.php在那里,它是可读的,甚至可执行文件。 其他的二进制守护进程也会发生同样的事情。 如果你问为什么我仍然坚持哈代,这是因为一些兼容性问题。 我试图迁移到服务器版本,因为它是支持的,而且更有意义,因为它基本上只用作具有SSH访问权限的LAMP堆栈。
我创build了一个运行我创build的Java程序的子系统文件。 子系统文件驻留在/etc/init.d中,允许我使用一致的接口(启动和停止)停止和启动服务。 它基于本教程: http : //www.tldp.org/HOWTO/HighQuality-Apps-HOWTO/boot.html 这是脚本的样子: #!/bin/sh # # /etc/init.d/mysystem # Subsystem file for "MySystem" server # # chkconfig: 2345 95 05 # description: MySystem server daemon # # processname: MySystem # config: /etc/MySystem/mySystem.conf # config: /etc/sysconfig/mySystem # pidfile: /var/run/MySystem.pid # source function library . /etc/rc.d/init.d/functions # pull in sysconfig settings [ -f /etc/sysconfig/mySystem […]
在尝试解决临时服务器上的端口问题时,我偶然在生产服务器上运行nmap,发现端口800已打开: 800/tcp open mdbs_daemon 我不知道什么mdbs_daemon是 – 我已经GOOGLE了端口号和守护进程,但只能find一个暗示,这是与NFS有关的讨论,但我敢肯定,我没有安装任何相关的东西我的Ubuntu 10.04生产服务器。 我只是不确定我应该在这个意想不到的港口担心。
你build议什么工具来pipe理运行的守护进程? 这包括: 负载监视:当它放慢整个服务器时,守护进程 保持活力:当它不起作用时重新启动它。 也许,连通性检查? 任何先进的日志处理/旋转/parsing工具? 方便的错误通知:电子邮件,icq,jabber,… 实时监控:munin || nagios,当然! :)也许还有别的不错的东西可以使用? …其他build议?