lock-me

Lock files across processes

Usage no npm install needed!

<script type="module">
  import lockMe from 'https://cdn.skypack.dev/lock-me';
</script>

README

lock-me

Coverage Status Travis CI Circle CI Dependency Status js-standard-style standard-readme compliant

Lock files across processes. Inspired by go4 lock

Table of Contents

Install

$ npm install lock-me

Usage

const Lock = require('lock-me')
const mylock = new Lock()

const lockfile = 'me.lock'

lock(lockfile, (err, lk) => {
  if (err) throw err
  // 'me.lock' is now locked

  lk.close((err) => {
    if (err) throw err
    // 'me.lock' is no longer locked
  })
})

When the process dies, the lock is released so no stale lock files remain. If they do remain, my-lock will understand it and delete the stale file.

Contribute

PRs accepted.

Small note: If editing the README, please conform to the standard-readme specification.

License

MIT © Friedel Ziegelmayer