【发布时间】:2015-08-26 12:01:25
【问题描述】:
从 Applescript do shell script 命令执行时,以下脚本按预期工作。
#!/bin/sh
sleep 10 &
#echo "hello world" > /tmp/apipe &
cpid=$!
sleep 1
if ps -ef | grep $cpid | grep sleep | grep -qv grep ; then
echo "killing blocking cmd..."
kill -KILL $cpid
# non zero status to inform launch script of problem...
exit 1
fi
但是,如果将 sleep 命令(第 2 行)与 if 语句一起交换为(第 3 行)中的 echo 命令,则脚本在从 Applescript 运行时会阻塞,但在终端命令行中运行良好。
有什么想法吗?
编辑:我应该提到当消费者/阅读器连接到管道时脚本可以正常工作。只有当管道没有读取任何内容时才会阻塞...
【问题讨论】:
-
我同意我遇到过这个问题。感谢您发布此信息。有关更多信息和数据点,请参阅:apple.stackexchange.com/questions/201518/…
标签: bash shell applescript