问题标签 [init.d]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
215 浏览

bash - VAR_NAME=${VAR_NAME:-"/some/path/file"} 是什么意思

VAR_NAME=${VAR_NAME:-"/some/path/file"} 在 shell 脚本中是什么意思?

这是一个初始化脚本,我正在编写一个自定义脚本,以将我们的一些启动操作放入初始化脚本中,以便我们可以在启动时自动启动它们,但我对 shell 脚本没有太多经验,所以我正在使用我们过去定制的不相关软件的启动脚本。

指向的路径指向一个文件,该文件包含覆盖脚本中设置的默认值的配置值。

我无法弄清楚该构造的真正含义(特别是 :- 部分)。

我正在处理的脚本似乎也将此操作链接在一起以解决要使用的值,例如:

LOG_FILE=${LOG_FILE:-${LOGFILE:-$DEFAULT_LOG_FILE}}

0 投票
2 回答
827 浏览

bash - JBoss 初始化脚本 - 捕获问题

我有一个用于启动/停止/等 JBoss AS (v7.1.1) 的脚本。我在 SUSE Enterprise 11 上运行,所以提供的 initscript 不起作用。我的脚本遇到的问题是清理函数永远不会被调用。

0 投票
2 回答
4765 浏览

spring - cvc-elt.1:使用 initd 运行时找不到元素“bean”的声明

我的 activemq 代理使用了以下模式:-

如果我从命令行启动我的应用程序,它运行良好,但在通过 initd 机制启动时失败并出现以下错误:-

错误:java.lang.RuntimeException:无法执行启动任务。原因:org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException:来自 URL [file:/prod/tools/base/etc/config/activemq/amq_prod_broker_config.xml] 的 X ML 文档中的第 23 行无效;嵌套异常是 org.xml.sax.SAXParseException;行号:23;列号:52;cvc-elt.1:找不到元素“beans”的声明。java.lang.RuntimeException:无法执行启动任务。原因:org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException:来自 URL [file:/prod/tools/base/etc/config/activemq/amq_prod_broker_config.xml] 的 XML 文档中的第 23 行无效;嵌套异常是 org.xml.sax.SAXParseException;行号:23;列号:52;cvc-elt.1:找不到元素“beans”的声明。在组织。

initd 只不过是在重新启动 linux 服务器时自动运行我的脚本的配置。请帮忙?

0 投票
2 回答
24641 浏览

boot - update-rc.d 和 init.d 依赖项

所以我正在尝试编写一些满足 LSB 的 init.d 脚本,以便它们在启动和关闭时正常运行。不幸的是,我在使用 LSB/update-rc.d 来满足依赖关系时遇到了问题。

但是,当我运行 update-rc.d defaults 时,它只会生成所涉及的默认值,其开始时间与已经存在的依赖项完全相同,这非常糟糕。我是否缺少 update-rc.d 或 LSB 来配置它?

如果相关,这是 Ubuntu 12.04

0 投票
1 回答
2161 浏览

linux - dpkg remove 停止进程

我目前正在运行 Ubuntu 12.04。我创建了一个 debian 包,该包目前已成功安装并启动了三个新进程。我还通过在 /etc/init.d 中放置以下脚本使这三个进程在运行时启动:

该脚本确实在运行时启动了三个进程,但由于某种原因,我实际上无法使用启动/停止命令,如 sudo /etc/init.d bleh.sh stop。

更大的问题是使用以下命令删除此软件包:sudo dpkg -r bleh

实际上并没有停止这三个进程,它只是尝试删除我安装在我的 opt 文件夹中的 bleh 目录。另外,我的 bleh 目录中有一个文件夹没有被删除,它给了我一个警告说明:正在删除 bleh ... dpkg:警告:删除 bleh 时,目录 '/opt/bleh/logs' 不为空,所以没有删除.

除非您具有 SU 特权,否则该日志目录中的文件是只读的,但我不明白这应该是什么问题,因为我在该 dpkg -r 命令上调用 sudo。

如果我再次运行 sudo dpkg -r bleh,它表明没有与 bleh 匹配的已安装包,这意味着它认为它已成功删除已安装的包,即使现有的日志目录和三个仍在运行的进程也是如此。

对不起,我知道这很长,但我真的需要一些帮助..提前谢谢!

0 投票
3 回答
4620 浏览

bash - 杀死一个守护进程的所有子进程

我正在写一个/etc/init.d/mydaemon

我的/usr/local/bin/mydaemon

AFAIK,这应该有效,因为:

  • daemonmydaemon将的 PID记录在/var/run/mydaemon.pid
  • killproc读取该PID并发SIGTERM送到该PID。
  • mydaemon陷阱这个信号,禁用陷阱并发SIGTERM送到整个PGRP,包括进程binary with some args

但是,这不起作用。停止服务后,mydaemon终止,但binary仍在运行。

我错过了什么,停止守护进程及其所有子进程的最佳做法是什么?


顺便提一句:

当我的 /usr/local/bin/mydaemon 是:

它工作正常,但这对我来说似乎不太健壮,而且有时这是不合适的(当二进制调用不那么直接,或者它有自己的孩子时,等等)。

0 投票
2 回答
190 浏览

php - PHP Restart Lighttpd 不返回

我有一个需要重新启动 lig​​httpd 的 php 脚本。php 页面永远不会返回给客户端。我相信那是因为电话没有返回。这是我的代码:

如果我注释掉 exec 行,它会按预期返回。我怎样才能让这个电话返回?

谢谢,

电动汽车

0 投票
2 回答
459 浏览

perl - 基于 Twiggy 的 PSGI 应用程序的初始化脚本

我正在寻找一种方法来通过一个简单的配置文件和一个标准接口来管理多个监听不同端口的 Twiggy 实例。

例如,我想要一个看起来像

以及 /etc/init.d 中的一个脚本,其使用如下

我的一些同事建议使用 runit,它看起来很有希望,但是我对它还不够熟悉。

在开始编写自己的脚本之前,我敢于问:是否已经存在?

0 投票
2 回答
5226 浏览

bash - Puppet init 脚本不创建 pid 文件?

  • CentOS 5.4 版(最终版)
  • puppet-server-2.7.19-1.el5从 puppetlabs repo 安装。

puppetmaster已成功启动,但不会创建 pid 文件。[ FAILED ]这是停止时消息的原因:

初始化脚本: http: //fpaste.org/nsfI/

图书馆/etc/rc.d/init.d/functions: http: //fpaste.org/ox5Q/

这就是我在调试模式下运行时得到的结果:http: //fpaste.org/DkoS/

我知道echo启动后手动将pid指向文件的方式,但是为什么daemon函数--pidfile不起作用?

daemon $PUPPETMASTER $PUPPETMASTER_OPTS --masterport=${PUPPETMASTER_PORTS[$i]} --pidfile=/var/run/puppet/puppetmaster.${PUPPETMASTER_PORTS[$i]}.pid

当然,Puppet master 以puppet用户身份运行:

/var/run/puppet/文件夹的所有者是puppet

0 投票
1 回答
1494 浏览

linux - 用于运行第二个 mysql 服务器的 init.d 脚本失败

我有 2 个 mysql 服务器,一个设置了所有 mysql 默认值(端口、套接字等),第二个设置为端口 3307 和另一个带有名为 my-dev.cnf 的默认文件的套接字。

当我运行时:

服务器正常运行

我想要做的是有一个 init.d 脚本来运行它。我复制了 /etc/init.d/mysqld 脚本并更改了以下行:

到:

但它一直在失败:

和:

/etc/init.d/mysql-dev: 第 63 行: [: '/usr/bin/mysqld_safe': 期望二元运算符

我怎样才能让它工作,所以它将使用我在 /etc/my-dev.cnf 中设置的默认值?

谢谢!