2

私は現在、Xubuntu 12.10 x64でSiriServer(要点の横にあります)をセットアップしようとしていますが、サーバーを実行するとpythonがエラーを返します

socket.error: [Errno 98] Address already in use.

サーバーはデフォルトでポート443で実行しようとしていますが、このアプリケーションが機能するには、残念ながらポート443が必要です。

ポート443で何かが実行されているかどうかを再確認するために、次の手順を実行します。

lsof -i :443

ChromeやFirefoxのようなものを開いていない限り、結果はありません。これが、サーバーアプリケーションの実行を試みてからの完全なリターンです。

dustin@dustin-xubuntu:~/Applications/SiriServer$ sudo python siriServer.py
CRITICAL load_plugins Failed loading plugin due to missing module: 'Wordnik library not found. Please install wordnik library! e.g. sudo easy_install wordnik'
INFO <module> Starting Server
Traceback (most recent call last):
  File "siriServer.py", line 493, in <module>
    server = SiriServer('', options.port)
  File "siriServer.py", line 425, in __init__
    self.bind((host, port))
  File "/usr/lib/python2.7/asyncore.py", line 342, in bind
    return self.socket.bind(addr)
  File "/usr/lib/python2.7/socket.py", line 224, in meth
    return getattr(self._sock,name)(*args)
socket.error: [Errno 98] Address already in use

これがこのアプリケーションのセットアップの最後の部分であるため、私は何をすべきかについて立ち往生しています。どんな助けでも大歓迎です。

4

4 に答える 4

2

あなたは根っこではありません-それがあなたの問題です。Unixで1024未満のポートにバインドするには、スーパーユーザーである必要があります。だから、suPythonコードを押してもう一度試してください。または、1024〜65535のポートにバインドします。

于 2013-02-08T03:48:06.957 に答える
2

これは、^Cまたは^Zを押したときにPythonプログラムが正しく終了しない場合によく発生します。ターミナルをリセットするか、ターミナルを終了してみてください。あなたもすることができますkillall -9 server.py

ルート特権がある場合でもこれを防ぐのに役立つ別の効果的な方法は、ソケットが適切に閉じられていない場合に発生する可能性があります。修正は次のとおりです。

s=socket.socket( )
s.bind(("0.0.0.0", 8080))
while 1:
    try:
        c, addr = s.accept()
    except KeyBoardInterrupt:
        s.close()
        exit(0)
于 2013-05-02T13:46:27.373 に答える
2

ポート番号が1024を超えていてもエラーが発生しました

使用できます

    pkill -9 python

コマンドを2回実行すると、強制終了されたすべてのPythonファイルが一覧表示されます

于 2016-10-07T08:21:00.490 に答える
1

実行しているすべてのプロセスを一覧表示します

ps -a

Pythonに対応するPIDを取得し、それを(PID 2770の例)を使用してkillコマンドにパイプします。

kill -9 2770
于 2014-11-02T02:17:05.773 に答える