![Forking 포함 - bash 스크립트에 멀티스레딩을 포함하여 시작 시 실행하시겠습니까?](https://linux55.com/image/64212/Forking%20%ED%8F%AC%ED%95%A8%20-%20bash%20%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8%EC%97%90%20%EB%A9%80%ED%8B%B0%EC%8A%A4%EB%A0%88%EB%94%A9%EC%9D%84%20%ED%8F%AC%ED%95%A8%ED%95%98%EC%97%AC%20%EC%8B%9C%EC%9E%91%20%EC%8B%9C%20%EC%8B%A4%ED%96%89%ED%95%98%EC%8B%9C%EA%B2%A0%EC%8A%B5%EB%8B%88%EA%B9%8C%3F.png)
이해가 부족해요. Bash 스크립트에 포크를 포함해야 합니까?https://stackoverflow.com/a/26756839/4749164, 그래서 ?에서 expect daemon/fork
- 옵션을 사용할 수 있습니다.upstart
bash 스크립트를 upstart를 통해 백그라운드에서 프로세스로 실행하고 싶습니다. 지금까지 수행한 작업은 다음과 같습니다.
start on filesystem or runlevel [2345]
stop on shutdown or runlevel [12345]
respawn
expect daemon
script
export HOME="/user"
echo $$ > /var/run/bashscript.pid
exec /etc/rfid/bashscript
end script
pre-start script
echo "[`date`]" program starting >> /var/log/bashscript.log
end script
pre-stop script
rm /var/run/program.pid
echo "[`date`]" program stopping >> /var/log/bashscript.log
end script
터미널에서 실행하면 실행 중이고 Pid가 있다고 sudo service bashscript status
표시됩니다 bashscript
. 확인하면 이는 사실입니다. /var/run/bashscript.pid
그러나 해당 PID로 실행 중인 프로세스가 없으며 top
터미널에 입력하면
sudo service bashscript stop
정지됩니다. 내가 뭘 잘못했거나 놓쳤나요?