0

CherryPyサーバーをsudoで起動し、Ctrl-Cを押して終了しようとすると、時々(〜1/3の時間)ハングすることがわかりました。CherryPyhelloworldを使用してこれを再現できます。

import cherrypy
class HelloWorld(object):
    def index(self):
        return "Hello World!"
    index.exposed = True

cherrypy.quickstart(HelloWorld())

私が見る出力は次のとおりです。

$ sudo python hello.py 
[23/Nov/2012:21:23:03] ENGINE Listening for SIGHUP.
[23/Nov/2012:21:23:03] ENGINE Listening for SIGTERM.
[23/Nov/2012:21:23:03] ENGINE Listening for SIGUSR1.
[23/Nov/2012:21:23:03] ENGINE Bus STARTING
CherryPy Checker:
The Application mounted at '' has an empty config.

[23/Nov/2012:21:23:03] ENGINE Started monitor thread 'Autoreloader'.
[23/Nov/2012:21:23:03] ENGINE Started monitor thread '_TimeoutMonitor'.
[23/Nov/2012:21:23:04] ENGINE Serving on 127.0.0.1:8080
[23/Nov/2012:21:23:04] ENGINE Bus STARTED
^CTraceback (most recent call last):
  File "hello.py", line 7, in <module>
    cherrypy.quickstart(HelloWorld())
  File "/usr/local/lib/python2.7/site-packages/CherryPy-3.2.2-py2.7.egg/cherrypy/__init__.py", line 161, in quickstart
    engine.block()
  File "/usr/local/lib/python2.7/site-packages/CherryPy-3.2.2-py2.7.egg/cherrypy/process/wspbus.py", line 303, in block
    except (KeyboardInterrupt, IOError):
KeyboardInterrupt
<No subsequent command prompt>

サーバーをポート80で実行したいので、これは私にとって問題です。他のスレッドでは、適切にクリーンアップする必要のある作業がいくつか行われています。ほとんどの場合、デバッグの邪魔になると思いますが、それでも興味があります。

4

1 に答える 1

0

CherryPyでこれに関する問題を開きました。問題は、私が使用していたsudoのバージョン(1.7.4)であることが判明しました。

https://bitbucket.org/cherrypy/cherrypy/issue/1186/sometimes-hangs-when-running-with-sudo-and

最新(1.8.6p3)で再テストしましたが、この問題は発生していません。Chris Beelbyに感謝します!

于 2012-11-28T11:23:56.550 に答える