Articles of 守护进程

/ sbin / init是什么意思?

我正在尝试使用Upstart来对一个脚本进行守护。 所以,我在/etc/init/下创build了一个.conf文件。 现在检查我做的conf文件 init-checkconf /etc/init/ping_me.conf 它说 ERROR: version of /sbin/init too old 我的Linux内核版本是3.19.0-20-generic 。 Upstart无法configuration服务。 因此, service ping_me start不起作用。 那么,如果init可以更新,我怎么能更新呢?

systemd可以pipe理一个pipe道吗?

systemd可以pipe理一个类似于daemontools家族的stream水线吗? 如果是这样,那么实现这个目标的最好方法是什么? 我想运行相当于service1 | service2 service1 | service2 ,其中service1和service2是由systemdpipe理的(独立的或不是)服务。 我希望能够在不中断service1情况下重新启动service2进程。 换句话说,当service2退出时, service1写入的service1不能closures。 当一个新的service2实例启动时,它应该inheritance现有的文件描述符,以便来自service1 stdout将stream入新的service2 。 (就像daemontools在run和log/run之间维护一个pipe道一样,虽然pipe道不需要是服务和logging器。) 也许有一个系统pipe理的FIFO之间的东西?

编写一个Linux服务

我想用PERL编写一个Linux服务,但不知道该怎么做。 (我知道perl) 我有一个MySQL数据库,需要检查它的新logging,所以我可以处理它们。 该服务应该几乎立即响应,所以cron不是一个好的select,我不想使用一些解决方法,以便每秒运行我的脚本。 此外,脚本是线程的,可能需要一些时间,直到完成,所以克朗是不是我的好select。 所以,我有两种方法: 每秒查询数据库并在到达时处理新logging的服务。 或者像MySQL触发器那样在插入新logging时触发脚本。 但是,这不应该放慢插入logging的其他软件。 你build议我什么? 达到这个目标的最好方法是什么? 编辑:例如,编写服务时是否需要做这样的事情? while(1){do stuff sleep(1)}并写一个简单的初始化脚本? 有没有更优雅的方式? 提前致谢,

服务器端防病毒

我们正在为运行Linux的服务器寻找某种杀毒软件,而且似乎无法find运行服务器端的体面杀毒软件。 在服务器端,我的意思是它可以作为守护进程运行,而不必为每个发送给它的文件启动和执行。 如果有任何帮助,我们的服务在Amazon EC2实例上运行,我们将这些文件存储在S3上。 我们看过ClamAV,但是不确定它是否合适。 该软件似乎很好,但我不知道他们的数据库总是更新。 有没有人有这方面的一些辛苦赚来的知识?

nginx和php5-fpm init.d启动脚本都不起作用,并且不返回错误。 但他们曾经完美地工作

我一直在Ubuntu盒子上使用nginx和php5-fpm一段时间。 一切都已经正确configuration和设置,它像一个魅力跑。 我一直保持包更新和升级像往常一样,但没有触及nginx或php5-fpmconfiguration文件(因此我敢肯定,这不是我的错…) 基本上,我注意到nginx没有运行,因为它应该是。 我运行命令sudo service nginx start ,脚本什么都没做。 尝试做任何事情时都会发生同样的事情 – start , stop , restart或reload 。 这也发生在“php5-fpm”初始化脚本中,尽pipe所有其他的init脚本似乎正常工作。 当试图启动nginx或php5-fpm时,会发生什么情况: root@HAL:/etc# service php5-fpm start root@HAL:/etc# 我不明白发生了什么事。 该脚本不会返回错误,但同样不会像往常一样启动守护进程或报告成功。 作为参考,这两个安装来自官方的nginx和php5-fpm PPA。 同时开始这样做的事实引发了我 – 因为它们都是无关的包。 我已经使用apt-get purge …从我的系统中清除了两套软件包apt-get purge …还有apt-get remove –purge …两者都成功删除了软件包,它们的configuration文件和它们的init.d启动脚本。 在重新安装nginx后,我现在又有了一个正常运行的启动脚本 – 我可以照常启动web服务器。 但是,php5-fpm仍然遇到了启动脚本的奇怪的过早退出..我真的不知道是什么原因造成的。 我不知道是什么造成了这种情况最初发生,但已经设法修复nginx。 我现在需要修复php5-fpm启动脚本。 如果有人能够看到这种情况,我将非常感激! 这两个问题的可能性都是相关的 – 而这些问题是由我做了一些愚蠢的事情造成的。 但现在我需要修复它。 这次我很幸运 – 因为这些问题都在我的开发服务器上。 但是我有另外两台configuration类似的服务器,我担心同样的事情也会发生在这两台服务器上。 有其他人遇到这个? […]

有什么更好的这个特定的任务:守护进程或CRON工作与一个简单的程序?

我有一个程序,将networking驱动器中的文件复制到每个用户的特定位置。 它需要每12小时做一次,并且在系统(redhat linux)启动时需要启动。 我正在考虑把程序转换成守护进程,让它睡12个小时,唤醒,复制文件并进入睡眠状态。 但是,这是一个矫枉过正的? 更好的是:一个简单的程序,复制文件,然后退出并从CRON作业每12小时或守护进程调用它? 什么更好的系统? 谢谢!

在Linux中创build守护进程…文件权限应该如何?

我正在PEAR System_Daemon上运行几个PHP Gearman Daemons。 我需要他们能够写入以下位置… /var/run/{APPNAME}.pid /etc/init.d/{APPNAME} /gearman/log/{APPNAME}.log 我应该为他们设置什么权限? 我不介意创build一个不同的用户或你有什么,但我只是不是最大的文件权限。 我想这样做是正确的,而不是chmod 777易于使用和以root身份运行,这是不是一个好主意。 帮助这个文件权限白痴?

磁盘守护进程吞噬了我所有的记忆

我正在debian上运行一个小型的存储服务器,在过去的几个月中,我注意到进程udisks-daemon几乎消耗了所有可用的内存。 这只是真正积极的caching或内存泄漏? uname -a Linux Proto 2.6.32-5-amd64 #1 SMP Sun May 6 04:00:17 UTC 2012 x86_64 GNU/Linux free -m total used free shared buffers cached Mem: 7999 7390 608 0 317 368 -/+ buffers/cache: 6704 1294 Swap: 15621 15621 0 vmstat procs ———–memory———- —swap– —–io—- -system– —-cpu—- rb swpd free buff cache si so bi […]

systemd用户单位和debian wheezy

我正在运行一个debian wheezy服务器,并通过安装systemd-sysv切换到systemd。 到目前为止,一切都如以前那样运作 现在我想让用户使用systemd来运行/pipe理他们自己的单位/守护进程。 对于一个简单的testing,我尝试以普通用户的身份运行systemctl –user ,但总是失败: gucki@debian:~$ systemctl –user Failed to get D-Bus connection: Unable to autolaunch a dbus-daemon without a $DISPLAY for X11 我怎样才能解决这个问题? 我不想在服务器上运行/安装任何graphics化的东西,我不需要X11。 更新1:我终于设法找出错误输出,因为没有systemg用户pipe理器用户gucki运行。 当我使用systemctl start [email protected]所有的一切按预期工作。 但是:我还没有能够得到服务[email protected]自动启动启动。 当我符号链接/etc/systemd/system/multi-user.target.wants/[email protected] -> /lib/systemd/system/[email protected]服务启动,但用户gucki得到相同的错误信息像之前一样。 做一个“systemctl重启[email protected]”作为根挂起,直到我点击ctrl-c。 根据ps,它挂在“/ bin / systemd-tty-ask-password-agent – watch”中。 所以最后我“只”想知道我可以得到[email protected]启动时自动启动? 更新2:似乎在wheezy systemd的版本是很旧的(44)和越野车。 我从后台升级到204(仍旧老,当前是217),但现在似乎按预期工作。

将本地docker-deamon添加到docker-machine?

我刚刚安装了一个带有docker-daemon的Ubuntu机器,并且能够运行docker容器,之后我安装了docker-machine并configuration了一个docker2boot的ESX机器,并在运行docker docker-machine ls时看到了这个主机。 但是,问题是我只能看到ESX的docker主机,并且当我运行这个命令docker-machine ls时,没有列出本地的docker-daemon。 所以现在我的问题是,如何将我的本地docker-daemon添加到docker-machine,所以当我运行docker-machine ls ,我可以看到我的本地守护程序为默认docker引擎?