亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > Linux Shell > 正文

Linux下/var/run/目錄下的pid文件詳解及pid文件作用

2020-07-27 18:48:45
字體:
來源:轉載
供稿:網友

先給大家介紹下Linux下/var/run/目錄下的pid文件,具體詳解如下所示:

linux系統中/var/run/目錄下的*.pid文件是一個文本文件,其內容只有一行,即某個進程的PID。.pid文件的作用是防止進程啟動多個副本,只有獲得特定pid文件(固定路徑和文件名)的寫入權限(F_WRLCK)的進程才能正常啟動并將自身的進程PID寫入該文件,其它同一程序的多余進程則自動退出。

編程實現:

 調用fcntl()系統調用設置指定的pid文件為F_WRLCK鎖狀態,如果鎖成功則寫入當前進程的PID,進程繼續往下執行;如果上鎖失敗則說明已經有同樣的進程在運行了,當前進程退出。

#define PID_FILE "/var/run/xxxx.pid"int lock_file(int fd){  struct flock fl;  fl.l_type = F_WRLCK;  fl.l_start = 0;  fl.l_whence = SEEK_SET;  fl.l_len = 0;  return (fcntl(fd, F_SETLK, &fl));}int alone_runnind(void){  int fd;  char buf[16];  fd = open(PID_FILE, O_RDWR | O_CREAT, 0666);  if (fd < 0)  {    perror("open");    exit(1);  }  if (lock_file(fd) < 0)  {    if (errno == EACCESS || errno == EAGAIN)    {      close(fd);      printf("alone runnind/n");      return -1;    }    printf("can't lock %s: %s/n", PID_FILE, strerror(errno));  }  ftruncate(fd, 0);  //設置文件的大小為0  sprintf(buf, "%ld", (long)getpid());  write(fd, buf, strlen(buf) + 1);  return 0;}

需要注意:

1.程退出后該進程加的鎖自動失效;
2.進程關閉了該文件描述符fd,則加的鎖失效。(所以整個進程生命周期內不能關閉該fd);
3.鎖的狀態不會被子進程繼承,如果進程關閉則失效而不管子進程是否運行。

下面介紹下Linux下/var/run目錄下的pid文件作用

在Linux系統的目錄/var/run下面一般我們都會看到很多的*.pid文件。而且往往新安裝的程序在運行后也會在/var/run目錄下面產生自己的pid文件。那么這些pid文件有什么作用呢?它的內容又是什么呢?

(1) pid文件的內容:pid文件為文本文件,內容只有一行, 記錄了該進程的ID。

用cat命令可以看到。

(2) pid文件的作用:防止進程啟動多個副本。只有獲得pid文件(固定路徑固定文件名)寫入權限(F_WRLCK)的進程才能正常啟動并把自身的PID寫入該文件中。其它同一個程序的多余進程則自動退出。

(3) 編程技巧:

調用fcntl設置pid文件的鎖定F_SETLK狀態,其中鎖定的標志位F_WRLCK。

如果成功鎖定,則寫入進程當前PID,進程繼續往下執行。

如果鎖定不成功,說明已經有同樣的進程在運行了,當前進程結束退出。

lock.l_type = F_WRLCK; lock.l_whence = SEEK_SET; if (fcntl(fd, F_SETLK, &lock) < 0){  //鎖定不成功, 退出...... }sprintf (buf, "%d/n", (int) pid); pidsize = strlen(buf); if ((tmp = write (fd, buf, pidsize)) != (int)pidsize){  //寫入不成功, 退出...... }

 (4) 一些注意事項:

i) 如果進程退出,則該進程加的鎖自動失效。
ii) 如果進程關閉了該文件描述符fd, 則加的鎖失效。(整個進程運行期間不能關閉此文件描述符)
iii) 鎖的狀態不會被子進程繼承。如果進程關閉則鎖失效而不管子進程是否在運行。

總結

以上所述是小編給大家介紹的Linux下/var/run/目錄下的pid文件詳解及pid文件作用,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林網網站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲免费电影在线观看| 国产99视频精品免视看7| 国内精品久久久久影院 日本资源| 亚洲久久久久久久久久| 精品国产乱码久久久久久天美| 91影院在线免费观看视频| 69视频在线免费观看| 97视频人免费观看| 国产做受高潮69| 国产欧美日韩高清| 国产精品揄拍500视频| 欧美日韩中文字幕日韩欧美| 永久免费看mv网站入口亚洲| 亚洲成人久久电影| 久久久久久久av| 国产男人精品视频| 国产精品一区二区三区久久| 国产欧美 在线欧美| 尤物精品国产第一福利三区| 中文字幕免费精品一区| 在线成人激情视频| 亚洲午夜久久久影院| 日韩在线国产精品| 久久躁日日躁aaaaxxxx| 一区二区亚洲欧洲国产日韩| 国产一区二区三区在线免费观看| 久久伊人精品天天| 中文字幕欧美精品日韩中文字幕| 一区二区三区动漫| 精品久久久视频| 怡红院精品视频| 夜夜嗨av一区二区三区四区| 成人午夜激情网| 亚洲福利在线视频| 欧美激情一区二区三区在线视频观看| 日韩中文字幕久久| 九九视频直播综合网| 91久久在线观看| 中文字幕精品久久久久| 免费不卡欧美自拍视频| 欧美午夜精品在线| 成人精品福利视频| 欧美激情中文字幕乱码免费| 国产精品wwwwww| 精品国产一区二区三区四区在线观看| 欧美在线一区二区三区四| 欧美综合在线观看| 97精品国产97久久久久久| 久久99精品久久久久久琪琪| 精品爽片免费看久久| 不用播放器成人网| 97视频在线观看免费高清完整版在线观看| 日韩hd视频在线观看| 久久久久久中文| 欧美一级高清免费播放| 插插插亚洲综合网| 国产精品青青在线观看爽香蕉| 日韩中文字幕欧美| 久久久久久美女| 国产亚洲欧美一区| 久久久精品久久| 国产精品高潮呻吟视频| 国产aⅴ夜夜欢一区二区三区| 亚洲国产99精品国自产| 亚洲激情成人网| 成人xvideos免费视频| 欧美一级视频在线观看| 欧美午夜精品久久久久久久| 欧美大尺度激情区在线播放| 5252色成人免费视频| 精品成人国产在线观看男人呻吟| 国产精品自产拍在线观看| 中文字幕欧美在线| 亚洲毛片在线观看.| 亚洲黄色在线看| 亚洲精选一区二区| 日韩禁在线播放| 久久精品国产亚洲| 色噜噜国产精品视频一区二区| 中文国产亚洲喷潮| 亚洲电影免费观看| 国产精品一区二区电影| 中文字幕日韩欧美在线| 国产精品美女久久久免费| 精品久久久久久国产91| 欧美在线中文字幕| 精品视频在线播放| 午夜伦理精品一区| 日韩在线视频免费观看高清中文| 久久亚洲精品中文字幕冲田杏梨| 久久精品亚洲国产| 久久精品国产欧美亚洲人人爽| 日韩av手机在线观看| 深夜精品寂寞黄网站在线观看| 日韩精品在线视频观看| 欧美成人午夜视频| 久久久av电影| 欧美激情手机在线视频| 欧美精品videossex88| 欧美成人免费va影院高清| 亚洲午夜未满十八勿入免费观看全集| 欧美成人精品一区二区三区| 欧美第一页在线| 亚洲国产精品999| 中文字幕亚洲第一| 精品久久久av| 久久激情视频久久| 国产精品美女久久久免费| 久久午夜a级毛片| 97涩涩爰在线观看亚洲| 国产在线观看精品| 91精品国产乱码久久久久久蜜臀| 美女视频黄免费的亚洲男人天堂| 欧美激情综合色综合啪啪五月| 中文日韩电影网站| 亚洲bt欧美bt日本bt| 国产日韩精品在线观看| 日韩中文字幕在线视频| 国产免费成人av| 懂色aⅴ精品一区二区三区蜜月| 亚洲成人精品久久| 日韩精品在线电影| 一本大道久久加勒比香蕉| 91久久国产综合久久91精品网站| 国产成人精品久久二区二区| 91精品视频一区| 美女av一区二区三区| 亚洲日韩欧美视频一区| 亚洲天堂免费视频| 影音先锋欧美在线资源| 欧美日韩精品在线| 日韩专区在线观看| 在线看欧美日韩| 亚洲在线免费视频| 日韩av在线免费观看一区| 国产精品偷伦一区二区| 岛国av一区二区| 97不卡在线视频| 91免费看片网站| 韩国三级日本三级少妇99| 成人h猎奇视频网站| 国产视频久久久久| 亚洲性线免费观看视频成熟| 欧美天堂在线观看| 欧美激情欧美激情| 国产热re99久久6国产精品| 色哟哟网站入口亚洲精品| 92看片淫黄大片欧美看国产片| 久久综合网hezyo| 日韩高清电影好看的电视剧电影| 亚洲精品中文字幕av| 日韩免费在线播放| 欧美激情视频一区二区三区不卡| 欧美大胆在线视频| 久久久精品免费视频| 亚洲精品www久久久久久广东| 国产亚洲欧美日韩精品| 国产精品一久久香蕉国产线看观看| 欧美成人免费观看| 在线成人中文字幕| 亚洲国内高清视频| 中文字幕日韩精品在线| 美乳少妇欧美精品| 国产精品久久久久久超碰|