我有一个带有 postinst 脚本的软件包,该脚本在最后一步启动一项服务。例如:
#!/bin/sh
set -e
. /usr/share/debconf/confmodule
[...]
case "$1" in
configure)
[...]
ldconfig
echo "Install concluded"
echo "Starting service"
service lttng-sessiond restart
echo "Postinst complete"
;;
[...]
esac
exit 0
当我运行“sudo apt-get install packagename”时,我收到以下日志:
[...]
Starting service
stop: Unknown instance:
lttng-sessiond start/running, process 22914
Postinst complete
Processing triggers for libc-bin ...
ldconfig deferred processing now taking place
“stop: Unknown instance:” 是由于我使用了“restart”而不是“start”,没什么大不了的。重要的是服务做启动,如日志所示。但系统监视器显示服务几乎立即终止(这不是服务本身的问题,因为从命令行重新发出服务启动命令就可以了)。
我现在陷入了困境:可能是“libc-bin 触发器”或“ldconfig 延迟处理”关闭了服务?