我有一个shell脚本,它将内容写入文件
#!/bin/bash
SLEEP=1
FILE_PATH=${1}
while true
do
ps aux wc -l > ${FILE_PATH}
sleep ${SLEEP}
done
我有另一个PHP脚本,它使用file_get_contents()读取文件的内容。我知道file_get_contents()将生成一个LOCK_EX(独占锁)。
我的问题是,
因为我以1秒的间隔在shell脚本中编写文件。我担心两个脚本中文件写入/读取失败的可能性。
答案 0 :(得分:0)
通常,任何文件写入都需要独占锁定。
在shell脚本发布之前,PHP脚本将无法获取其锁定,反之亦然。当两个进程争用同一资源时,这会导致所谓的死锁。
您可以使用策略进行更丰富的进程间协作,但我建议使用不同的策略来生成进程列表。