명명된 파이프가 닫힌 후 명령을 트리거하는 방법은 무엇입니까?

명명된 파이프가 닫힌 후 명령을 트리거하는 방법은 무엇입니까?

명명된 파이프를 다른 쪽 끝에서 읽은 후 특정 명령을 어떻게 실행할 수 있습니까? .을 (를) 사용해 보았으나 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내 경우에는 필요합니다.

관련 정보