init.d의 postinst에서 스크립트를 시작하면 스크립트가 종료되지 않습니다.

init.d의 postinst에서 스크립트를 시작하면 스크립트가 종료되지 않습니다.

postinst다음과 같은 스크립트 가 있습니다 .

그런데 스크립트 마지막 줄에서 서비스를 시작하면 스크립트가 postinst멈추고 터미널 상태로 들어가지 않습니다.

#!/bin/sh
set -e
# Source debconf library.
. /usr/share/debconf/confmodule
mkdir -p /var/www
mkdir -p /var/log/robotasarouter
rm -f /var/www/robot_configuration_interface
ln -s /usr/share/robot_configuration_interface /var/www/
pip install virtualenv
cd /var/www/robot_configuration_interface
virtualenv env
. env/bin/activate
pip install -r requirements.txt
update-rc.d robot-configuration-interface defaults 90 >/dev/null
service robot-configuration-interface start

답변1

이 postinst 스크립트는 여러 가지 방식으로 규칙을 위반하므로 정상적으로 작동할 것으로 기대할 수 없습니다. 명시적으로 허용하지 않는 stdout.Read 에 예기치 않은 출력을 보내기 때문에 중단될 가능성이 높습니다 .man debconf-devel

관련 정보