好吧,这让我的大脑融化了。这可能与我不了解Upstart以及我应该了解的事实有关。对于这么长的问题提前致歉。我正在尝试使用Upstart来管理Rails应用程序的Unicorn主进程。这是我现在的/etc/init/app.conf:description"app"startonrunlevel[2]stoponrunlevel[016]consoleowner#expectdaemonscriptAPP_ROOT=/home/deploy/appPATH=/home/deploy/.rbenv/shims:/home/deploy/.rbenv/bin:$PATH$APP_ROOT/
我有一个编译为单个二进制文件的goweb应用程序,我试图通过init.d进行管理。这是我的init.d脚本:PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/binDAEMON=/usr/bin/my-go-appDAEMON_ARGS="--logFile/var/log/my-go-app/my-go-app.log"NAME=my-go-appDESC=my-go-appRUNDIR=/var/run/my-go-appPIDFILE=$RUNDIR/my-go-app.pidtest-x$DAEMON||
我在upstart中添加了ponzu-server,但是我启动ponzu-server时出现了一些错误。sudoserviceponzu-serverstartJobforponzu-server.servicefailedbecausethecontrolprocessexitedwitherrorcode.See"systemctlstatusponzu-server.service"and"journalctl-xe"fordetails.journalctl-xe:Jan2819:12:22cs67724systemd[1]:ponzu-server.service:Unite
我正在使用upstart来启动我的golang应用程序。我有这样的应用程序文件夹结构,web-app//appmain.go我构建的应用程序如下,$cd/home/ec2-user/go/src/github.com/dineshappavoo/web-app/app/$gobuild./...它生成了二进制app并将web-app.conf放在/etc/init/文件夹中。这是web-app.conf的内容,#Webappupstartscriptdescription"startandstopwebapp"starton(net-device-upandlocal-filesyst
我正在测试基于MongoDB的学习储物柜,它都在ubuntu14.04docker中https://hub.docker.com/r/hadyrashwan/learninglocker-ubuntu14.04/.我让它工作但我无法启动Mongodb自动尝试了修复命令并将启动服务命令中的名称更改为Mongodb或mongo但没有工作。但是运行Mongodb只是让它启动但我想自动启动它而不打开终端并保持打开状态以便系统继续工作root@bd1997365c3a:/#mongodb2016-09-06T07:41:51.816+0000ICONTROL[initandlisten]Mong
文章目录为什么要将程序配置成服务?1.自动启动2.后台运行3.定时重启4.简化管理5.整合系统6.自动日志版本支持1.Ubuntu14.04及更早版本:使用`upstart`作为默认的init系统/etc/rc.local旧版本新版本2.Ubuntu15.04到16.04版本:默认使用`systemd`作为init系统,但仍然兼容`upstart`3.Ubuntu16.10及更高版本:默认使用`systemd`作为init系统总结开机自启服务原理配置步骤1.创建配置文件2.编辑配置文件3.拷贝配置文件4.启用服务5.启动服务6.停止服务7.禁用服务配置项解释配置父项配置子项`[Unit]`配置
我需要从我的普通Flask应用程序发送邮件,所以我认为最简单的方法是使用smtplib发送邮件。但我必须异步执行-你不能只在请求中插入3秒的延迟-对吗?所以我将电子邮件添加到队列(psql表),并从另一个读取该表并使用smptlib的程序发送它。第二个程序(maildonkey)作为一个单独的进程运行,在一个独立的upstart服务中。现在我需要另一个小的异步服务,我在想我是否应该编写另一个python脚本(第三个,算上我的Flask应用程序和“maildonkey”),或者我应该使用Python的“多进程”之类的东西,或者甚至“线程”并重写第二个程序?(当我在Clojure中编程时,
我为Redis编写了一个Upstart脚本,如下所示:description"RedisServer"startonrunlevel[2345]stoponshutdownexpectdaemonexecsudo-uredis/usr/local/bin/redis-server/etc/redis/redis.confrespawnrespawnlimit105然后我通过redis.conf将redis配置为:daemonizeyes所有文档和我自己的实验都表明Redis以守护进程的形式fork两次,“expectdaemon”应该可以工作,但Upstart脚本始终保留前父进程的PI
我为Redis编写了一个Upstart脚本,如下所示:description"RedisServer"startonrunlevel[2345]stoponshutdownexpectdaemonexecsudo-uredis/usr/local/bin/redis-server/etc/redis/redis.confrespawnrespawnlimit105然后我通过redis.conf将redis配置为:daemonizeyes所有文档和我自己的实验都表明Redis以守护进程的形式fork两次,“expectdaemon”应该可以工作,但Upstart脚本始终保留前父进程的PI
我有一个upstart作业在运行(某种TCP服务器)。偶尔我的进程会重新启动,我可以在系统日志中看到下一行:kernel:[2422352.460162]init:mainprocess(16545)killedbyTERMsignal我不明白内核发出这个TERM信号的原因,所以我决定在终止之前捕获该信号并打印一些内存和goroutines统计信息。所以现在我的代码看起来像这样:funcmain(){sigc:=make(chanos.Signal,1)signal.Notify(sigc,syscall.SIGTERM)gofunc(){s:=现在奇怪的是,即使我手动停止作业,我的g