Ruby - 在tmp / pids / thin.pid中找不到PID(Thin :: PidFileNotFound)

时间:2013-06-10 12:21:48

标签: ruby-on-rails ruby linux thin padrino

我正在尝试为我的应用启动瘦身,但无法生成pid

$ thin -C /var/www/project_path/current/config/myproject.testing.yml start

现在我无法阻止它,因为没有pid:

 $ thin -C /var/www/project_path/current/config/myproject.testing.yml stop

   /home/usr/.rvm/gems/ruby-1.9.2-p180@api/gems/thin-1.5.1/lib/thin/daemonizing.rb:131:in `send_signal': Can't stop process, no PID found in tmp/pids/thin.pid (Thin::PidFileNotFound)

这是yml文件:

pid: /home/usr/htdocs/testing/myproject/shared/pids/thin.pid
rackup: config.ru
log: /home/usr/htdocs/testing/myproject/shared/log/thin.log
timeout: 30
port: 1234
max_conns: 1024
chdir: /home/usr/htdocs/testing/myproject/current
max_persistent_conns: 128
environment: testing
address: 127.0.0.1
require: []

daemonize: true

更新

现在我可以启动服务器但是在一些seconds进程自动消失之后;意味着我看不到在几秒钟后启动服务器生成的pid

2 个答案:

答案 0 :(得分:2)

lsof -wni tcp:1234

会为您提供进程ID

kill -9 PID

会杀死进程

答案 1 :(得分:1)

我有同样令人讨厌的问题

我发现如果服务器在启动时崩溃,则会创建pid文件,但文件中没有pid。尝试使用服务器./logs/thin.3001.log的日志文件并查找错误。您也可以尝试通过

手动启动服务器
rails s -p 3000

并查看是否有任何错误被抛出。

祝你好运

克里斯