Upstart没有发送CONT到我停止的守护进程,它被configuration为使用'expect stop'
我有以下testingconfiguration文件,用于在Ubuntu 14.04上运行的暴发户服务: expect stop chdir /home/joe/Projects/Marketplace env RAILS_ENV="development" script ruby -e "STDOUT.sync=true; puts 'loading…'; sleep 5; Process.kill(:STOP, Process.pid); 5.times { puts 'running'; sleep 3 }" > /tmp/upstart_test.log end script embedded的ruby脚本只是睡5秒钟(模拟加载),然后发送一个STOP信号,以便通知Upstart它已经准备好,然后打印几次“运行”(模仿一些服务的发生)。 哇,真棒。 这么简单。 问题是,当我开始这个“服务” start fake-service ,该命令挂起(等待服务完成启动),并且过程结束在停止状态,Upstart从不承认或发送一个“继续”对于。 是什么赋予了?? 更新:执行帮助,但分叉仍然失败 我发现,如果在configuration文件中,我使用exec而不是脚本块来运行启动“守护进程”的命令,它工作得很好: expect stop chdir /home/joe/Projects/Marketplace env RAILS_ENV="development" exec ruby -e "STDOUT.sync=true; puts 'loading…'; sleep 5; Process.kill(:STOP, Process.pid); […]