我在Ubuntu上有多个服务,它们将使用'upstart'启动。它们按要求工作,但当我使用“stop/start/restart {myservice}”时,它会挂起(但确实执行了所请求的操作)。
我理解这与分叉有关。
我的服务是Python脚本,在启动时将创建新线程。一个脚本将创建1个新线程(并且仍将在主线程上运行),第二个脚本将创建2个新线程,并且仍将在主线程上运行,第三个脚本将不创建新线程。
所有这些都挂起在该命令上。
所有都在/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/
你认为可能会出现什么问题?'fork'与创建新线程有关吗?