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