3

「upstart」を使用して開始するUbuntuにいくつかのサービスがあります。それらは要求どおりに機能していますが、「停止/開始/再起動 {myservice}」を使用するとハングします (ただし、要求どおりに動作します)。

フォークと関係があることを理解しています。

私のサービスは、起動時に新しいスレッドを作成する Python スクリプトです。1 つのスクリプトは 1 つの新しいスレッドを作成し (メインでも引き続き実行されます)、2 つ目のスクリプトは 2 つの新しいスレッドを作成し、メインでも実行を継続し、3 つ目のスクリプトは新しいスレッドを作成しません。

それらのすべてがコマンドにかかっています。

次のように、すべて /etc/init で同じコードを使用します。

description "my service"
version "1.0"
author "my name, 2013"

expect fork

start on runlevel [2345]
stop on runlevel [!2345]
respawn


chdir <to script dir>

exec /usr/bin/python ./scriptname/

何が問題だと思いますか?「フォーク」は新しいスレッドの作成と関係がありますか?

4

2 に答える 2

0

はい。http://upstart.ubuntu.com/cookbook/#id160を参照してください

アプリケーションが fork または fork を 2 回実行するか、まったく実行しないかに応じて、それぞれ fork を期待するか、deamon を期待するか、まったく期待しないかによって異なります。

于 2013-12-26T22:40:50.793 に答える