![명명된 파이프가 닫힌 후 명령을 트리거하는 방법은 무엇입니까?](https://linux55.com/image/146596/%EB%AA%85%EB%AA%85%EB%90%9C%20%ED%8C%8C%EC%9D%B4%ED%94%84%EA%B0%80%20%EB%8B%AB%ED%9E%8C%20%ED%9B%84%20%EB%AA%85%EB%A0%B9%EC%9D%84%20%ED%8A%B8%EB%A6%AC%EA%B1%B0%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
명명된 파이프를 다른 쪽 끝에서 읽은 후 특정 명령을 어떻게 실행할 수 있습니까? .을 (를) 사용해 보았으나 trap
아무 일도 일어나지 않았습니다. 내 스크립트는 아래와 같습니다.
#!/bin/sh
cleanup()
{
echo "Caught Signal ... cleaning up the background process."
}
trap cleanup PIPE
if [ ! -p "/tmp/mysqld.init" ]; then
mkfifo /tmp/mysqld.init
fi
echo "CREATE DATABASE IF NOT EXISTS test;" > /tmp/mysqld.init &
exec mysqld --init-file="/tmp/mysqld.init"
참고: 이는 내 Docker 이미지의 진입점 스크립트이며 exec
내 경우에는 필요합니다.