「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/
何が問題だと思いますか?「フォーク」は新しいスレッドの作成と関係がありますか?