Thin 和 sinatra - 如何停止/重新启动?没有thin.pid
我使用 Thin 作为我的 Sinatra 应用程序的服务器。它是这样启动的:
thin -C config/environment.yml -R config/config.ru start
其中 environment.yml
包含一些简单的内容,而 config.ru
则包含您可以在rackup 文件中找到的一般内容。
我希望能够守护进程(使用thin的配置文件就足够简单)并停止和重新启动,就像使用apache/tomcat/等一样。
当我尝试 thin stop
或重新启动或各种其他操作时,我得到:
Can't stop process, no PID found in tmp/pids/thin.pid
事实上,有没有这样的文件。我尝试在瘦配置 yml 中指定 pid 文件和位置(例如 /tmp/thin.pid
,简单起见)到各个不同的位置。这一切所做的只是更改了“no PID found in”
消息中的目录位置,但仍然没有创建pid文件。
有什么想法吗?
I'm using thin as the server for my Sinatra app. It is started thusly:
thin -C config/environment.yml -R config/config.ru start
Where environment.yml
has thin stuff and config.ru
has general stuff you'd find in a rackup file.
I would like to be able to daemonize (easy enough with thin's config file) and stop and restart this much like one does with apache/tomcat/etc.
When I try thin stop
or restart or various other things, I get:
Can't stop process, no PID found in tmp/pids/thin.pid
Indeed, there is no such file. I have tried specifying a pid file and location (ex. /tmp/thin.pid
, to be easy) in the thin configuration yml to various different places. All this does is change the location of the directory in the "no PID found in"
message, still no pid file is created.
Any ideas?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
当 Thin 守护进程时,将创建 Pid,因此请仔细检查您的配置中的
daemonize: true
选项。考虑到它是 yaml,空格可能会让事情出错。或者指定--daemonize
开关。如果 pid 文件的位置不是默认的,则还应该在发出 stop 时指定配置文件:
Pid will be created when thin is daemonized, so double-check your config for
daemonize: true
option. Considering that it's yaml, whitespace can make things go wrong. Alternatively specify--daemonize
switch.If location of your pid file is non-default, you should also specify config file when issuing stop: