相关疑难解决方法(0)

如何让unix脚本每15秒运行一次?

我已经看到了一些解决方案,包括监视和在后台运行循环(和休眠)脚本,但没有什么是理想的.

我有一个需要每15秒运行一次的脚本,而且由于cron不会支持秒数,所以我只想搞清楚其他事情.

在unix上每15秒运行一个脚本最强大,最有效的方法是什么?脚本还需要在重新启动后运行.

unix cron command sleep

83
推荐指数
4
解决办法
14万
查看次数

fopen(file,w +)截断文件,然后我可以检查它是否被flock()锁定

我有一个函数,它接收一个文件名和一个json对象来写入文本文件.

对象已更新,需要完全替换文件的当前内容.每个站点访问者都有自己的文件.多个快速更改会导致文件被截断fopen(file,w+),然后在锁定时不写入.最终结果是空文件.

我确信这是一种标准的简单方法,因为它是一种常见的活动.理想情况下,我正在寻找的方法是在使用fopenin w+模式截断文件或切换模式之前检查文件是否具有锁定.

看起来很奇怪你必须截断文件fopen()来获取一个文件句柄flock()来检查它是否被锁定 - 但你只是截断它,那么重点是什么?

这是我到目前为止的功能:

function updateFile($filename, $jsonFileData) {
    $fp = fopen($filename,"w+");
    if (flock($fp, LOCK_EX)) {  
        fwrite($fp, $jsonFileData);
        flock($fp, LOCK_UN);
        fclose($fp);
        return true;
    } else {
        fclose($fp);
        return false;
    }
}
Run Code Online (Sandbox Code Playgroud)

php fopen flock

4
推荐指数
1
解决办法
2688
查看次数

标签 统计

command ×1

cron ×1

flock ×1

fopen ×1

php ×1

sleep ×1

unix ×1