名前付きパイプをもう一方の端から読み取った後、特定のコマンドをどのように実行できますか? . を試してみましたが、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
私の場合は必要です。