node.jsで簡易多重起動防止

高瀬 裕介 263views 更新:2015年6月17日
const lockFilePath = __dirname + "/main.lock";
function lockFile() {
    try {
        var file = fs.openSync(lockFilePath, 'r');
        fs.close(file);
        return false;
    } catch (e1) {
        try {
            fs.writeFileSync(lockFilePath);
            return true;
        } catch (e2) {
            console.error(e2);
            return false;
        }
    }
}

function unlockFile() {
    fs.unlink(lockFilePath, function(err){
        if (err) throw err;
    })
}

if(!lockFile()){
    console.error("Another proccess running. abort");
    process.exit();
}

ログイン / 新規登録してコメントする

このソースコードをストックして後で利用したり、作業に利用したソースコードをまとめることができます。

こちらもお役に立つかもしれません