3C科技 娛樂遊戲 美食旅遊 時尚美妝 親子育兒 生活休閒 金融理財 健康運動 寰宇綜合

Zi 字媒體

2017-07-25T20:27:27+00:00
加入好友
flock - Manage locks from shell scripts Ubuntu: 20.04 在一些特殊的情境下,你可能會需要從 shell 上去執行有順序性的 script。但也因為有順序,所以容易發生上一個狀態尚未做完,下一個狀態的 script 就開始工作的狀況。 這時候 Unix 提供的 flock 就派上用場了,flock 的概念有點類似於 Mutual exclusion。 flock 會先嘗試取得某個 lock file 的所有權之後才開始執行,執行時便會握有該 lock file 的所有權,並且在結束之後才釋出。因此,其他以 flock 執行並參考同一份的 lock file 的工作皆會等待原本的程式執行完成,並輪流取得所有權。 Basic Usage flock 的使用方式為: flock [options] file|directory command [arguments] 附上幾個較常用到的 options: Option Description -e, -x, --exclusive 預設值,一次只能有一支程序能獲得所有權。 -n, --nb, --nonblock 如果不能獲得所有權,不會等待,直接結束程式。 -s, --shared 可以共用所有權,多支程式能一起執行。 Example 先建立一個範例測試檔案,執行以後會在 10 秒後顯示時間。 test.sh #! /bin/bash sleep 10 date Notice: 記得要打開 test.sh 的執行權限。 接著可以開兩個視窗分別以 flock 去執行 test.sh。 flock /tmp/demo.lock ./test.sh 從得到的結果很明顯可以看出,A window 執行時,B window 是在等待狀態,等 A 結束之後 B 才開始執行。 Result A window:Tue 01 Jun 2021 04:23:20 PM B window:Tue 01 Jun 2021 04:23:30 PM Categories: Unix Tags: Unix 分類 Android AngularJS API Blueprint Chrome Cloud-Solution Azure Database MySQL DataStructure Docker Editor Vim Firefox Git GitLab Google API Hadoop HTTP Language Go Java JavaScript jQuery jQueryChart Node.js Vue Vue-CLI PHP Laravel Lumen ZendFramework Python Mac Network Cisco DLink Juniper Oauth Server Apache Share Unix FreeBSD Linux WebDesign Bootstrap CSS HTML Wordpress Search 搜尋關鍵字:

本文由blogjohnsonluorg提供 原文連結

寫了 5860316篇文章,獲得 23313次喜歡
精彩推薦