jjzjj

ubuntu - Golang - 通过 Upstart 运行时找不到命令 "go"

我正尝试在我的ubuntu上通过“upstart”运行一个go命令。我的Upstart脚本是scriptgorun/home/myhome/gocode/src/program/hello.goendscript它不工作,我检查了日志文件,它说/bin/sh:1:/bin/sh:go:notfound我可以使用任何用户名在命令行上运行“go”。我该如何解决这个问题? 最佳答案 你不应该使用gorun来运行你的Go程序。您应该使用gobuild编译它,然后使用Upstart来运行它。改用exec/path/to/your/binary

linux - Ubuntu Upstart 无法停止/重启 Graphite 碳缓存

我在/etc/init/carbon-cache.conf创建了upstart配置文件来停止/启动/重启carbon-cache进程。我可以使用命令启动carbon-cache进程:startcarbon-cache,但是,我无法使用停止/重新启动carbon-cache并且总是给我错误:“停止:未知实例:”。有人知道问题出在哪里吗?这是我的Upstart配置:/etc/init/carbon-cache.confdescription"DaemonizedCarbon-Cache"startonrunlevel[2345]stoponrunlevel[016]setuidwww-da

linux - Upstart 脚本需要在/tmp 挂载并可写后运行

我有一个在Vagrant虚拟环境中运行的UbuntuLinux服务器。我使用服务器来开发Web服务。当服务器启动时,我有一个shell脚本需要运行一次才能在/tmp/文件系统上设置缓存目录结构。description"setupwebcache"startonstartupscriptmkdir-p/tmp/cache/persistentmkdir-p/tmp/cache/modelsmkdir-p/tmp/cache/viewschmod-R777/tmp/cache/endscript当我启动服务器时,我收到一条显示在/var/log/upstart/webcache.log中的

linux - Upstart 跟踪错误的 Bluepill PID

我有bluepill设置来监控我的delayed_job进程。使用Ubuntu12.04。我正在使用Ubuntu的upstart启动和监控bluepill服务本身。我的Upstart配置如下(/etc/init/bluepill.conf)。description"Startupthebluepillservice"startonrunlevel[2]stoponrunlevel[016]expectforkexecsudo/home/deploy/.rvm/wrappers//bluepillload/home/deploy/websites//current/config/serv

linux - 如何调试间歇性失败的 upstart 脚本?

我有一个进程,我想在我的系统以任何方式重新启动后立即启动,所以我为此使用了upstart脚本,但有时我注意到的是我的进程在硬重启期间没有启动(关闭并启动机器)所以我认为我的upstart脚本在硬重启后没有被启动。我相信硬重启没有运行级别。我很困惑为什么有时在重新启动期间它可以工作,但有时却不起作用。我该如何调试它?下面是我的upstart脚本:#sudostarthelper#sudostophelper#sudostatushelperstartonrunlevel[2345]stoponrunlevel[!2345]chdir/datarespawnpre-startscripte

linux - Upstart init 正在泄漏内存,你如何调试它?

我在Upstartinit进程(pid1)中有内存泄漏,我有哪些选项可以调试它?编辑:为此建议我一些真正的工具,手动放置printfs或手动计算内存分配不会削减它。也转储init核心并四处寻找这不是一个真正的选择。UPD1:valgrind不工作。用适当的valgrind+init魔术替换内核命令行上的/sbin/init似乎不是一个选项,因为它试图为smap访问/procself,但在运行init之前这些不可用。UPD2:dmalloc也不起作用(无法在ARM上编译)。 最佳答案 穷人的解决方案是只记录每次调用malloc和fre

linux - Upstart 如果正在运行则停止

我有一个Jenkins作业来停止节点应用程序、部署代码并启动应用程序。启动/停止是通过Upstart脚本完成的。我使用initctlstopnode-App如果作业正在运行,则效果很好。但是,如果应用程序已死亡或处于停止状态,则输出为initctl:Unknowninstance:这会导致Jenkins作业失败并且无法继续执行后续步骤。有没有办法在发出启动命令之前检查作业是否已启动?或者有没有办法让Jenkins不认为这是一个错误并使工作失败? 最佳答案 一位同事提出了一个很好的解决方案if(initctlstatusnode-Ap

linux - upstart expect/respawn 可以用在 fork 两次以上的进程上吗?

我正在使用upstart来启动/停止/自动重启守护进程。其中一个守护进程fork4次。upstartcookbook声明它只支持两次fork。有解决方法吗?它是如何失败的如果我尝试使用expectdaemon或expectfork,upstart会使用第二个fork的pid。当我试图停止工作时,没有人响应upstartsSIGKILL信号并且它挂起,直到你耗尽pid空间并循环回来。如果您添加重生,情况会变得更糟。Upstart认为这份工作已经结束,并立即开始另一份工作。上游确认错误Abughasbeenentered对于Upstart。提供的解决方案坚持使用旧的sysvinit,重写你

node.js - node.js 应用程序的 Upstart 脚本

我无法启动Upstart脚本。这是脚本(/etc/init/中的app.conf)description"node.jsserver"author"kvz"startonstartupstoponshutdownscript#Wefound$HOMEisneeded.Withoutit,weranintoproblemsexportHOME="/root"execsudo-u/usr/local/bin/node\/var/www/vhosts/travelseguro.com/node/app.js\2>&1>>/var/log/node.logendscript当我运行sudost

Node.js Upstart vs 永远

我希望守护我的Node.js应用程序。Upstart和永远有什么区别?另外,还有其他我可能想要考虑的软件包吗? 最佳答案 正如评论中指出的,upstart将用于启动forever脚本,因为upstart具有系统事件Hook(例如服务器的关闭和启动)。其他区别是:Upstart是为Linux开发的,而forever是独立于平台的。Forever是特定于nodejs的,并且在服务器崩溃后重启和日志记录方面具有一些非常酷的功能。对于开发环境来说,Forever就足够了,而如果您需要控制服务器的停止方式,则需要upstart。例如,在关闭时