一个简单的锁库 Keyway

未知
SHELL
Linux
2015-01-04
红薯

【年终提升】2019尾声,来 OSC·年终盛典收割技术干货,get新技能!>>>

A simple lock file library.

Features
  • Provides mutual exclusion for scripts that require the same resource.

  • Requires three additional lines of code in your script, including sourcing the library.

  • Scripts using Keyway can be configured to either terminate or busy-wait if a resource is blocked.

  • Keyway will report when an external error was caught and there are lock files in the lock directory.

Usage:
  • acquire_lock_for "your_task_name"

    • If the resource is not locked, your task will execute, otherwise it will terminate.

  • acquire_spinlock_for "your_task_name"

    • If the resource is locked, your task will wait until the lock has been released before acquiring its own lock and executing.

Return Code Explanations:
  1. Your application was not able to acquire lock.

  2. There was some other problem:

    • Keyway could not create the lock directory.

    • Keyway could not create or remove a lock.

  3. An error was caught and there are lock files in the lock directory.

An example:
#!/bin/bash
source keyway_lib.sh

# optionally override the lock file directory
LOCK_DIR="alt-lock-dir"

# attempt to lock the shared resource
acquire_lock_for "your_task_name"

# if the lock was successful, execute the task
echo "executing critical section"

# release the lock when the task is done
release_lock_for "your_task_name"

GPRS_core_structure.png

加载中

评论(0)

暂无评论

暂无资讯

暂无问答

Manual of universal joint shaft/cardan shaft

Manual of universal joint shaft/cardan shaft

2014/11/13 16:58
6
0

没有更多内容

加载失败,请刷新页面

没有更多内容

返回顶部
顶部