问题标签 [upstart]

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 投票
1 回答
1239 浏览

php - 在 php 脚本中重新启动作业(新贵)

我目前正在为我最近的项目编写管理门户。我一直在用我的电脑来争取暴发户的工作,现在它是,我希望能够从网络上操作暴发户。我需要在我的 php 脚本中执行以下操作

如您所见,sudo 是这些命令的主题,所以我需要以某种方式从这个 php 脚本运行 sudo。我该如何解决这个问题,或者是否有解决这个问题的方法。

万一这很重要:

0 投票
3 回答
2101 浏览

ruby - 厨师食谱:不以 Ruby 开头的 Upstart 守护进程

我想运行一个 ruby​​ mongrel 脚本作为我的供应系统 (CHEF) 的最后一步。因此,我编写了一个新贵 .conf 文件,其中包含以下条目:

但是 log.txt 文件为空并正在运行 netstat -an | grep 3000 什么也没显示。我认为该脚本不可执行,但运行 chmod 并没有改变任何东西。

但是,如果我手动执行脚本,我可以启动服务器

脚本的内容是:

我使用 RVM 和 Ruby 1.8.7、Rubygems 1.3.7 在 Vagrant 上运行。引导配方是:

任何的想法?谢谢

0 投票
1 回答
1668 浏览

python - 在新贵工作中从 python 捕获标准输出

当我将 python2.6 脚本的标准输出作为新贵作业运行时,我正在努力将其保存到文件中。

这是我当前的测试脚本:

如果我这样做$ myscript >> /var/log/myscript,效果很好。我都看到了。

但是,作为一个新贵脚本,如果我使用以下配置

  1. /etc/init/myscript.conf:

    我看到这个:

    /li>

如果我为 stderr 和 stdout 使用不同的文件,它们都会被创建,但 stdout 始终为空。

我究竟做错了什么?

0 投票
6 回答
31396 浏览

sockets - MongoDB - 套接字的权限被拒绝:/tmp/mongodb-27017.sock

我在 Ubuntu 10.04 LTS 上不干净地关闭了 MongoDB。现在,当我以 root 身份登录并通过 service mongodb start 运行 Mongodb 时,出现以下错误-

当我通过 root 手动运行 MongoDB 时,它工作得很好。

我可以确认没有 /tmp/mongodb-27017.sock 文件

我从哪里开始故障排除?

0 投票
2 回答
416 浏览

python - Tornadoweb webapp 无法通过 upstart 管理

几天前,我发现我的 webapp 在 tornadoweb 框架之上编写并不会通过 upstart 停止或重新启动。新贵只是挂起,不做任何事情。

我调查了这个问题,发现新贵收到了错误的 PID,所以它只能运行一次我的 webapp 守护程序,不能做任何其他事情。

Strace 显示我的守护进程进行了 4 次(!)clone() 调用,而不是 2 次。

一周前一切都很好,新贵完全正确地管理了 webapp。

操作系统是 Ubuntu 10.04.03 LTS(就像几周前一样)。

您有任何解决方法的想法吗?

PS:我知道“expect fork|daemon”指令,它没有任何改变;)

0 投票
1 回答
393 浏览

node.js - 处理将二进制数据记录到日志文件

我正在使用以下新贵脚本启动节点进程,将 stdout 和 stderr 记录到单独的文件中:

问题是两个日志文件的头部都有二进制数据。我不能使用更少或更多来快速检查这些日志,这非常烦人。有什么想法可以防止该进程记录二进制数据吗?

0 投票
1 回答
598 浏览

python - 通过python获取dbus对象实例时传递环境变量

我正在使用 python 来确定 Ubuntu 上新贵工作的状态。

我最近更改了新贵工作,使其具有这样的 Instance 节:instance $some_var. 正如预期的那样,我的代码不再有效。

如果我尝试:

它无法告诉我dbus.exceptions.DBusException: org.freedesktop.DBus.Error.InvalidArgs: Unknown parameter: some_var

我需要将 some_var 环境变量传递给 dbus 接口。我该怎么做?在 os.environ 中设置它似乎没有奏效。

0 投票
1 回答
4005 浏览

ruby-on-rails - 使用 Upstart 管理 Unicorn w/ rbenv + bundler binstubs w/ ruby​​-local-exec shebang

好吧,这正在融化我的大脑。这可能与我不太了解 Upstart 的事实有关。提前抱歉这个长问题。

我正在尝试使用 Upstart 来管理 Rails 应用程序的 Unicorn 主进程。这是我目前的/etc/init/app.conf

这很好用——独角兽的起步很好。不好的是,检测到的 PID 不是 Unicorn master 的,而是一个sh进程的。这本身也不是那么糟糕——如果我没有使用自动独角兽零停机部署策略的话。因为在我发送给我的独角兽主人后不久-USR2,一个新的主人产生了,而旧的主人死了……这个sh过程也是如此。所以 Upstart 认为我的工作已经死了,如果我愿意,我不能再重新启动它restart或停止它。stop

我玩过配置文件,尝试将 -D 添加到 Unicorn 行(像这样$APP_ROOT/bin/unicorn -c $APP_ROOT/config/unicorn.rb -E production -D:)以守护 Unicorn,我添加了该expect daemon行,但这也不起作用。我也试过expect fork了。所有这些事情的各种组合都可能导致startstop挂起,然后 Upstart 对工作的状态感到非常困惑。然后我必须重新启动机器来修复它。

我认为 Upstart 在检测 Unicorn 何时/是否分叉时遇到问题,因为我在脚本ruby-local-exec中使用了 rbenv + shebang 。$APP_ROOT/bin/unicorn这里是:

此外,ruby-local-exec脚本如下所示:

所以里面有一个exec让我担心的地方。它启动了一个 Ruby 进程,它启动了 Unicorn,它可能会或可能不会守护自己,这一切都首先发生在一个sh进程中......这让我严重怀疑 Upstart 跟踪所有这些废话的能力。

我想要做的甚至可能吗?据我了解,expectUpstart 中的节只能被告知(通过daemonfork)期望最多两个分叉。

0 投票
2 回答
8135 浏览

redis - 以守护程序形式运行 Redis 并使用 Upstart 管理它不起作用

我为 Redis 编写了一个 Upstart 脚本,如下所示:

然后我通过它的 redis.conf 配置 redis:

所有的文档和我自己的实验都说 Redis 以守护进程的形式分叉了两次,并且“期望守护进程”应该可以工作,但是 Upstart 脚本总是保留前父进程的 PID (PID - 1)。有没有人有这个工作?

0 投票
1 回答
12411 浏览

instance - 自动启动多个新贵实例

我们使用 PHP gearman worker 并行运行各种任务。一切都很好,我有愚蠢的小 shell 脚本可以在我想要它们的时候启动它们。作为一名程序员(因此很懒惰),我想看看我是否可以通过一个新贵脚本来启动这些。

我想出了如何使用实例节,所以我可以用实例号开始它们:

这很好用,像这样开始它们:

我想使用这些工人的方式是启动一些工人(可能每个核心一个,等等),我想在启动时这样做。需要明确的是,我不需要 upstart 脚本来检测内核数量。我很高兴只说“做 8 个实例”,但这就是我想要多次运行的原因。有没有办法让我在新贵脚本中使用“start on”子句来自动执行此操作?

比如启动实例1、2、3、4?然后让他们在关机时正常退出?

我想我可以将它连接到 init.d 脚本中,但我想知道 upstart 是否可以处理这样的事情,或者是否有人已经解决了这个问题。

干杯伙计们!