关于命令cmd1.sh | grep "message"
,其中cmd1.sh如下
#!/bin/bash
echo "message from foreground father proess$(date)"
setsid sleep 100 &
echo "message from foreground father proess$(date)"
echo "message from foreground father proess$(date)"
父进程启动了一个后台子进程sleep 100
,并且比子进程更早完成
您会发现cmd1.sh
运行良好但却cmd1.sh | grep "message"
挂起了,我理解这是因为子进程连接到管道。
cmd1.sh | grep "message"
那么有哪位专家可以提供一个无需更改 cmd1.sh即可退出的解决方案吗?