Articles of init.d

pipe理在启动时启动的服务(rc0.d,rc1.d等)

什么时候pipe理哪个服务的最佳方式是什么? service –status-all列出了所有服务,但服务状态很差(大部分是“未知”),并没有提供任何禁用/启用服务的方法。 我读过,不build议在rc * .d文件夹中修改/删除符号链接,因为可以在升级软件包时重新创build这些符号链接。

如何符合LSB标准的update-rc.d?

这是从stackoverflow迁移的问题,据我所知,这是它的地方。 https://stackoverflow.com/questions/2263567/how-to-conform-to-update-rc-d-with-lsb-standard 我已经build立了一个简单的脚本来备份一些目录。 虽然我没有任何设置function的问题,但我坚持使用update-rc.d将脚本添加到rcX.d目录。 我的脚本: #! /bin/sh ### BEGIN INIT INFO # Provides: backup # Required-Start: backup # Required-Stop: # Should-Stop: # Default-Start: 0 6 # Default-Stop: # Description: Backs up some dirs ### END INIT INFO check_mounted() { # Check if HD is mounted } do_backup() { if check_mounted; then # Some rsync statements. […]

如何以pm2运行node.js应用程序而不以root身份运行它们?

我已经安装了pm2来运行一个node.js应用程序,我可以成功启动它,它会重新启动后重新生成。 但是,pm2守护进程是以root身份运行的,这让我认为我的所有节点脚本也以root身份运行? 即使我把它们作为普通用户添加到系统中。 日志文件和东西是在用户主目录dir /〜/ /~/.pm2/logs logs中/~/.pm2/logs ,但日志是由root拥有的。 当我调用pm2 startup (处理init.d脚本的安装等)时,它会创build/etc/init.d/pm2-init.sh ,如下所示: #!/bin/bash # chkconfig: 2345 98 02 # # description: PM2 next gen process manager for Node.js # processname: pm2 # ### BEGIN INIT INFO # Provides: pm2 # Required-Start: # Required-Stop: # Should-Start: # Should-Stop: # Default-Start: 2 3 4 5 # Default-Stop: […]

作为用户启动Tomcat 7 – init.d脚本不能写入pid

我想在CentOS 6上以用户身份运行Tomcat 7.我创build了一个用户tomcat:tomcat并更改了/var/lib/apache-tomcat*等的所有权。 网上有很多关于如何做的文档,但是我不认为它们是最新的。 他们中的大多数表明你做如下。 问题是…这个技术会炸弹,因为tomcat启动等脚本由于文件系统权限较低而无法写入PID。 我不想开始放松对文件系统的写权限。 目标是增加安全性。 有什么更好的方法来做到这一点? 我很惊讶,没有一个“jar装”的初始化脚本的Tomcat。 我知道这并不复杂。 但为什么我们不得不重新发明轮子? 谢谢 我已经使用了这个多年。 我不记得我在哪里。 我刚加了/bin/su tomcat 。 # Startup script for the Jakarta Tomcat Java Servlets and JSP server # # chkconfig: – 85 15 # description: Jakarta Tomcat Java Servlets and JSP server # processname: tomcat # pidfile: /var/run/tomcat.pid # config: # Source […]

禁用/etc/init.d脚本的颜色输出?

在RedHat / CentOS系统上,/etc/init.d中的所有服务pipe理脚本(也由“服务”命令运行)都会生成彩色输出。 (即“[OK]”和“[FAILED]”string)。如何禁用? (产生颜色的转义序列使得webistrano的输出比需要的更难看。)

初始化脚本和绿色

我试图在EC2实例上安装nginx的fast-cgi。 我遵循这里解释的步骤,但是这是为了Debian,并没有开箱即用的基于红帽子的系统。 我修改了一下脚本,看起来像 – #!/bin/bash ### BEGIN INIT INFO # Provides: php-fcgi # Required-Start: $nginx # Required-Stop: $nginx # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: starts php over fcgi # Description: starts php over fcgi ### END INIT INFO . /etc/rc.d/init.d/functions (( EUID )) && echo .You need to […]

drbd服务无法启动/ WFConnection

我最近把我的drbd设置从Ubutnu迁移到了centos 7,我得到了一个奇怪的错误: 我可以正常地加载和卸载模块,整个事情似乎工作 #>modprobe drbd #>lsmod | grep drbd drbd 373504 2 … 我现在可以发出drbdadm up drbdres命令,查看资源的状态,似乎一切正在运行。 我也可以卸载模块 #>rmmod drbd #>lsmod | grep drbd #>drbdadm cstate all 0: Failure: (127) Device minor not allocated … #> lsmod | grep drbd drbd 373504 2 … 所以我可以加载模块,drbdadm能够加载它,但不提供任何资源,而文档声称init脚本会这样做,所以drbd显然不会以这种方式初始化模块。 正常情况下,在/etc/init.d/drbd init脚本启动时,/etc/drbd.conf中configuration的所有资源都会自动启用。 (来源: http : //www.drbd.org/users-guide-8.3/s-enable-disable.html ) 如果我尝试运行init.d脚本,我得到一个奇怪的错误: #>/etc/init.d/drbd start script […]

我该如何调整这个debian init.d脚本才能使用CentOS 5?

我试图让一个lsyncd守护进程运行。 我从epel安装了lsyncd RPM,但似乎没有带有init.d脚本。 在lsyncd存储库中,有这个脚本可以与Debian一起使用。 但是,当我尝试在CentOS下运行这个时,我得到这个消息: /etc/init.d/lsyncd: line 46: log_daemon_msg: command not found 我怎样才能适应这与CentOS的工作?

当从rc.local或init.d启动进程时,startpar进程挂起

从全面启动的init.d脚本(SysV样式)或像rc.local文件这样简单的一行调用开始正在进行的(类似服务的)进程时,我遇到一个特殊的问题: su someuser -c "/home/someuser/watchdog.sh &" 其中watchdog.sh包含这个: #!/bin/bash cd /home/someuser until ./eventMonitoring.py do echo "Program crashed with exit code $?. Starting again…" >&2 sleep 1 done 我总是在进程列表中留下一个额外的进程: UID PID PPID C SZ RSS PSR STIME TTY TIME CMD root 3048 1 0 1024 620 1 20:04 ? 00:00:00 startpar -f — rc.local 如果我从我的init.d脚本启动它(来源: https : […]

在/etc/rcX.d/中没有“K”链接的守护进程会发生什么

如果该脚本在(例如) /etc/rc0.d/中没有相应的K条目,init通过init脚本启动的stream程会发生什么? 例如,以下脚本启动了守护进程: -rwxrwxr-x. 1 root root 3.3K Jul 16 11:48 /etc/rc3.d/S99foobar 没有对应的链接(如/etc/rc0.d/K99foobar )来处理在关机/重启时终止这些进程。 当这些进程是最后一次运行的时候,这些进程是否刚刚收到一个SIGTERM,接着是一个SIGKILL? 或者init是否足够聪明地调用/etc/init.d/foobar stop ?