守护进程启动脚本的最大允许启动时间是多less? 我有一个tomcat服务器,需要花费大量的时间来启动,我可以在启动脚本中包含逻辑来检查服务是否成功启动。 尽pipe如此,我还是有一些关于守护进程启动的潜在无限循环的问题,即使启动时configuration为运行,也会影响系统的启动。 不过,我确实想要返回正确的退出消息(成功/失败)。 我可以实现一些超时逻辑,但是我不知道守护进程脚本可以接受或不可接受的启动时间。 另外,在这个服务还在初始化的时候停止其他服务的初始化并没有什么意义。
我正在尝试使用init脚本来启动pt-stalk,但是我很难将mysql凭证放入脚本中,而无需将它们放入MYSQL_OPTS部分以启动pt-stalk。 [ 文档 ] 通常在服务器上,我们有/root/.my.cnf包含该机器的pipe理员凭证,但是无论是将脚本中的HOME var明确设置为/root在init脚本中,pt-stalk无法启动,因为mysql CLI实用程序找不到凭据。 我已经看过手册页,但我找不到任何允许我指定凭据文件来使用,而不是把所有的东西都作为命令行参数。 有问题的初始化脚本: #!/usr/bin/env bash # chkconfig: 2345 20 80 # description: pt-stalk ### BEGIN INIT INFO # Provides: pt-stalk # Required-Start: $network $named $remote_fs $syslog # Required-Stop: $network $named $remote_fs $syslog # Should-Start: pt-stalk # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 ### END INIT […]
我试图从这里下载运行Supervisor init脚本: https : //raw.github.com/Supervisor/initscripts/master/debian-norrgard 阅读源代码,它应该打印出一些输出到标准输出,但是当我运行它,它不会打印任何东西,也不会启动supervisord 。 我注意到与/etc/init.d/mysql相同的行为。 Nginx的/etc/init.d/nginx工作就好了。 我怎样才能debugging呢? 运行Debian: 2.6.32-5-amd64 #1 SMP Sun May 6 04:00:17 UTC 2012 x86_64 GNU/Linux
我有几个多pathiSCSI LUN被格式化为ocfs2文件系统。 它们是使用本地心跳的Ubuntu 14.04群集的一部分。 这一切似乎工作正常,如果我重新启动后手动安装它们。 如果我尝试通过fstab (即使使用_netdev选项)通过UUID自动挂载它们,我遇到问题。 如果在启动过程中有fstab条目(如以下)注释掉 UUID=094c02f6-bfbb-4fe5-8a90-3b6992c81a60 /mnt/lun-1 ocfs2 _netdev 0 0 然后在login后取消注释并运行mount -a一切似乎都正常。 即multipath -ll显示到每个iSCSI设备的多个path。 例如: 3603be8bfce91e3e06e63e5ad426f4d98 dm-5 EQLOGIC ,100E-00 size=15T features='1 queue_if_no_path' hwhandler='0' wp=rw `-+- policy='round-robin 0' prio=1 status=active |- 19:0:0:0 sdr 65:16 active ready running `- 20:0:0:0 sdf 8:80 active ready running 并mount显示我的iSCSI LUN的/dev/mapper/*设备: /dev/mapper/3603be8bfce91e3e06e63e5ad426f4d98-part1 on /mnt/lun-1 type ocfs2 (rw,_netdev,heartbeat=local) […]
让我们看看我能否解释这个权利: 我有两个以太网接口的服务器 – 一个外部和一个内部面对。 我在一台服务器上有一个DB(pg),可以从内部networking上的其他机器访问。 我有其他服务器上的RoR应用程序,并configuration为使用所述数据库服务器上的数据库。 Mongrel Clustersconfiguration正确 – 我可以启动集群并通过控制台访问Rails应用程序。 我在Ubuntu 9.10服务器版。 IP在机器上静态分配 – 没有DHCP工作。 好了,所以问题是init脚本启动Mongrel火灾之前,以太网适配器似乎出现。 当然,问题在于数据库对于Rails应用程序来说是不可见的,因为networking还没有激活。 系统日志引导事件的相关部分在下面发布。 我通过使用/usr/sbin/update-rc.d mongrel_cluster默认值,将“通常”的mongrel脚本添加到init中。 我已将“启动顺序”移至99z_mongrel_cluster。 请注意,在下面的系统日志中,杂项群集在CRON之后立即执行,所以似乎我已经尽可能晚地把它写到init.d. 看起来像是在初始化周期结束时,以太网接口尝试激活,然后花一些时间来激活。 我对这一些有点无知,但它看起来像我们从7.537 …在tcpdump到eth0网卡在9.266 …超过1.5秒加载? 这在我使用DHCP分配静态IP地址的其他环境中是“应该的”。 所以,问题是: 有没有办法让网卡更快或更快地加载(基于高清出现我猜“快”问题)? 有没有办法确保在进入其他初始化任务之前,网卡是活动的? 根据我所读到的LSB规范,我已经把$ network放在了用于杂种群集的Required-Start的初始化脚本中(再次,在其他testing环境中不必这样做)。 有什么我必须做的configurationnetworking加载更快? 我的/ etc / hosts和/etc/resolv.conf 看起来是正确的。 司机问题? 非常感谢。 我一直在为此挠了挠脑筋。 Jul 26 15:08:03 web-01 kernel: [ 4.166954] usbhid: v2.6:USB HID core driver Jul 26 […]
在初始化脚本的上下文中,根据LSB规范 ,“每个符合的初始化脚本必须执行文件/ lib / lsb / init-function中的命令”,然后在使用守护进程时定义了一些函数。 其中一个函数是start_daemon ,它明显地“运行指定的程序作为后台进程”,同时检查守护进程是否已经在运行。 我正在为我的一个服务应用程序进行守护进程,而且我正在研究其他守护进程如何运行以尝试“适应”。 在看看它在别处如何完成的过程中,我注意到我的Ubuntu 10.04机器上没有一个守护进程使用start_daemon。 他们都直接调用start-stop-daemon。 我的Fedora 14机器也一样。 我是否应该尝试打好,成为第一个使用start_daemon的人,还是真的没有什么意义,因为每个人都已经在使用start-stop-daemon了。 为什么没有使用LSBfunction的守护进程?
在我的一个debian服务器上更新了一些东西后,它忽略了它应该在启动时运行的一些脚本(从“init.d”)。 例如Postfix,Memcached或其他守护进程是startet,但是“Apache2”,“Cron”等等不是。 我在日志文件中找不到任何指示启动失败的错误,所以我想它从来没有被触发过。 任何想法在哪里看? 🙁 编辑: 从sysv-rc-conf输出看起来不错,显示Apache和Cron应该像Postfix等开始… 还有什么想法? 编辑/解决scheme:我把所有没有正确启动到“S19 …”在rc2.d现在我所需要的是重新启动后运行。 但我仍然无能为力。
我有一个Ubuntu的11.04 i386服务器与Nginx 1.0.11。 我也使用这个init.d脚本 – 我find的唯一一个。 服务器启动良好,但每次尝试停止或重新启动时,操作都会失败。 这是特别恼人的,因为我现在正在工作的conf,我不得不终止Nginx每次我想重新加载conf。 我能做些什么来解决这个问题?
$ ps aux | grep svn root **4458** … /usr/bin/svnserve -d -r /var/svn manuel 4466 … grep –color=auto svn $ sudo kill **4458** $ sudo rm /var/run/svnserve.pid $ sudo start-stop-daemon –start –make-pidfile –pidfile /var/run/svnserve.pid –exec /usr/bin/svnserve — -d -r /var/svn $ cat /var/run/svnserve.pid **4474** $ ps aux | grep svn root **4477** … /usr/bin/svnserve -d […]
我刚刚创build了一个新的Ubuntu 14.04服务器,并且让atd守护程序停止自动启动时遇到了一些麻烦。 关于启动过程的pipe理已经有了一些改变,我已经看到了几十个网页在新贵,sysv-rc-conf和其他启动pipe理系统(更不用说chk-config了,这是不可用的无论如何在Ubuntu上)… 我尝试使用sysv-rc-conf,但configuration如下,我仍然atd在重新启动运行: # sysv-rc-conf –list atd atd 0:off 1:off 2:off 3:off 4:off 5:off 6:off 即使它不是新手兼容的,我把“manual”放到/etc/init/atd.override 我也尝试了一些update-rc.d的变体调用,但是尽pipe有前途的输出,atd仍然会在重启时启动: # update-rc.d atd disable 0123456 update-rc.d: warning: start runlevel arguments (none) do not match atd Default-Start values (2 3 4 5) update-rc.d: warning: stop runlevel arguments (none) do not match atd Default-Stop values (0 1 6) Disabling […]