好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > Perl中使用File::Lockfile確保腳本單實例運行

Perl中使用File::Lockfile確保腳本單實例運行

熱門標簽:河南虛擬外呼系統公司 熱門電銷機器人 上海企業外呼系統 電話機器人哪里有賣 萬利達百貨商場地圖標注 外呼電信系統 智能機器人電銷神器 惠州龍門400電話要怎么申請 okcc外呼系統怎么調速度

用Perl寫了一些監控腳本,放在crontab中調度執行。有時候會發現一個腳本運行時間過長,會同時跑起多個實例,因此有必要為腳本加上控制,只運行一個實例。

最簡單自然的想法,在腳本中檢查并創建一個空的lock文件,腳本結束時再刪除。通過判斷文件是否存在的方式來判斷腳本是否已經運行。不過這樣做有個bug,如果腳本運行過程中異常終止,lock文件沒有正常刪除,就會導致腳本無法再運行。

空的lock文件不行,那么考慮在lock文件中加入一點內容,比如進程的PID號,然后通過檢查該PID號的進程是否還在運行,就能避免上述bug了。在CPAN上有很多現成的模塊能夠完成上述功能,如File::Lockfile, File::Pid, Proc::PID::File 等。

下面是File::Lockfile的一個示例,非常簡單:

以下是代碼片段:

復制代碼 代碼如下:

#!/usr/bin/perl -w
useFile::Lockfile;
# lock文件位于/tmp目錄,名為test_file_lock.lck
my $lockfile= File::Lockfile->new('test_file_lock','/tmp');
# 檢查腳本是否已經運行,如已運行則退出
if ( my $pid= $lockfile->check ) {
  print"program is already running with PID: $pid";
  exit;
}
#更新lock文件
$lockfile->write;
# 腳本邏輯
sleep30
#刪除lock文件
$lockfile->remove;

通過查看File/Lockfile.pm的源代碼可以看到,判斷lock文件中記錄的進程是否已經運行,簡單的通過 kill -0 $pid 即可實現。所以即使不用上述模塊,自己實現也是非常容易的。

小結:

該方法是在腳本中經常用到限制單實例的方法,MySQL 等程序在每次啟動前也會檢查上次遺留的 mysql.pid 文件。

另一個方法:給lock文件加排它鎖,判斷是否有鎖來確保唯一性。

標簽:周口 綿陽 淮安 綏化 周口 合肥 秦皇島 百色

巨人網絡通訊聲明:本文標題《Perl中使用File::Lockfile確保腳本單實例運行》,本文關鍵詞  Perl,中,使用,File,Lockfile,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Perl中使用File::Lockfile確保腳本單實例運行》相關的同類信息!
  • 本頁收集關于Perl中使用File::Lockfile確保腳本單實例運行的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 人妻饥渴偷公乱中文字幕| 青柠影视在线播放观看高清| 中文无码人妻在线公开视频冫 | 波多野结衣ghh| 嗯?啊?用力撞入体内3p | 和搜子居同的日子未删除| 挨揍后贱妾跪迎主人掌嘴sm| 精品亚洲AV在线年码播放| 性趣闲谈| 久草网视频在线观看| 动漫美女吸乳| 女人18毛片a级毛片免费| 男性勃起粗大图片| 爱爱好爽我好想要进去| 女友闺蜜好深太紧了要喷了| 久久久无码精品亚洲A片优缺点| 久久久久久精品在免线费观看| 女人又爽?又黄?3D免费| 女学生小嫩嫩裸体69XX小说| 欧美精品黑色丝袜无码| 美女与男人对肌免费网站| 在线观看视频免费入口| 男男twinkgayfreevideo| 女唐僧一级毛片| 宝宝你里面好烫很软不想出来| 911精品产国品一二| 在线高清h视频在线观看| java socket中文乱码| 美女被绑着揉捏私密部位| 国产日产精品_国产精品毛片| 欧洲vpswindows超级vps管理器| h版角斗士三部曲在线观看| 成人无码一区二区三区无码DVD| 你再亲我一下| 美女福利视频一区| 国产小视频在线| 男生桶女孩子的小鸡免费视频| 老师打开一点我进不去作文视频| 国产亚洲精品久久久玫瑰园 | 杨清柠被啪到腿软福利视频| 胸前两个馒头|