如何在命名管道关闭后触发命令?

如何在命名管道关闭后触发命令?

在另一端读出命名管道后,如何执行某些命令。我试图使用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在我的情况下是必需的。

相关内容