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

首頁 > 開發 > Linux Shell > 正文

Shell腳本實現ftok函數

2020-07-27 19:08:44
字體:
來源:轉載
供稿:網友

“古老的 Sys IPC 仍然有好幾種有效的用途。三種 IPC 對象是共享內存,信號燈和消息?!碑斒褂玫?IPC 的這些對象時,你需要為每個對象創建一個 Key。雖然理論上來說我們在定義一個 IPC Key 的時候可以使用任意自己喜歡的 Key ,但為了避免與其他的程序產生定義重復,在 UNIX/Linux 中一般會使用 key_t ftok(const char *path, int id) 函數來生成一個比較唯一的 Key 值。然而,“每個人都討厭 System V IPC。它比打孔紙帶還慢,使用與文件系統完全無關少得可憐的名字空間,使用人類討厭的數字給它的對象命名,并且還常常自己忘記自己的對象,你的系統管理員經常需要用 ipcs(1) 查找那些丟失了的對象并且用 ipcrm(1) 刪除它們,還得求老天保佑不要在用光內存以后才發現問題。” 對于來實現進程監控/自動重啟Bash Shell 腳本來說,在腳本里面硬編碼進當前程序用到的 Key 值肯定不是個好辦法,最好是實現相同算法的 ftok 函數。

復制代碼 代碼如下:

#!/bin/sh
let key=0
function ftok() {
    pathname=$1;
    proj_id=$2;

    str_st_ino=`stat --format='%i' "${pathname}" 2>/dev/null`;
    str_st_dev=`stat --format='%d' "${pathname}" 2>/dev/null`;
    if [ "x${str_st_ino}" = "x" -o "x${str_st_dev}" = "x" ] ; then
        return 1;
    fi

    let st_ino=${str_st_ino}
    let st_dev=${str_st_dev}

    # 注意這里的位操作運算符需要加轉義符
    let key1=${st_ino}/&16#FFFF
    let key2=${st_dev}/&16#FF
    let key2=${key2}/</<16
    let key3=${proj_id}/&16#FF
    let key3=${key3}/</<24
    let key=${key1}/|${key2}
    let key=${key}/|${key3}
}

function echohelp(){
    echo "ftok generator"
    echo "Usage:ftok pathname projid"
    exit 5
}

if [ $# -ne 2 ] ; then
    echohelp
fi

sPathName=$1
let nProjectID=$2

if [ "${sPathName:0:1}" != "/" ] ; then
    sPathName=${PWD}/${sPathName}
fi

if ! test -f ${sPathName} ; then
    echo "No File Found![${sPathName}]"
    exit 4
fi

ftok "${sPathName}" "${nProjectID}"
echo ${key}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美成人免费大片| 欧美精品在线视频观看| 亚洲a在线观看| 亚洲国产欧美一区二区三区同亚洲| 日韩精品免费在线视频| 精品欧美aⅴ在线网站| 久久久极品av| 国产精品91在线观看| 亚洲一区亚洲二区亚洲三区| 亚洲大胆人体av| 欧美性高跟鞋xxxxhd| 国产精品九九九| 亚洲激情视频在线观看| 亚洲欧美制服另类日韩| 欧美成人中文字幕在线| 欧美日韩在线视频观看| 欧美黑人性猛交| 日本成人在线视频网址| 国产69久久精品成人| 国产欧美精品va在线观看| 国产精品福利网| 亚洲福利视频免费观看| 欧美在线欧美在线| 成人亚洲激情网| 国产精品一区二区3区| 26uuu亚洲国产精品| 日韩精品免费在线视频| 日韩精品视频免费在线观看| 在线日韩欧美视频| 日韩高清a**址| 欧美做受高潮电影o| 国产91亚洲精品| 成人黄色片在线| 热久久美女精品天天吊色| 在线播放亚洲激情| 久久久久北条麻妃免费看| 亚洲欧美国产高清va在线播| 日韩在线免费av| 夜夜嗨av一区二区三区四区| 久久久亚洲欧洲日产国码aⅴ| 日韩精品极品视频| 久久精品成人欧美大片古装| 九九综合九九综合| 九九热精品视频国产| 欧美成年人在线观看| 国产欧美一区二区三区视频| 久久久久中文字幕2018| 久久久亚洲天堂| 91免费看片网站| 国产精品免费视频久久久| 精品久久中文字幕| 日韩电影中文字幕| 欧美在线性爱视频| 黄网站色欧美视频| 国产91在线播放精品91| 上原亚衣av一区二区三区| 91精品国产91久久久久久不卡| 日韩成人在线观看| 亚洲免费电影在线观看| 中文在线不卡视频| 国产午夜精品免费一区二区三区| 色综合视频网站| 91精品国产综合久久香蕉最新版| 中文字幕在线成人| 久久精品视频99| 在线成人免费网站| 国产一区二区三区欧美| 69av成年福利视频| 国产精品久久久久久久久久三级| 97精品视频在线播放| 国产精品久久久久久网站| 91在线视频成人| 久久精品国产一区| 日韩一区二区欧美| 欧美理论电影在线观看| 国产精品久久精品| 这里只有精品在线播放| 亚洲人成亚洲人成在线观看| 国产精品久久77777| 精品爽片免费看久久| 亚洲欧美日韩成人| 精品欧美aⅴ在线网站| 国产91色在线| 在线观看成人黄色| 亚洲乱码一区av黑人高潮| 亚洲成人免费网站| 久久久999国产| 亚洲激情在线观看视频免费| 久久精品亚洲精品| 国产亚洲精品美女久久久久| 欧美性精品220| 中文字幕免费国产精品| 精品国产999| 精品国产区一区二区三区在线观看| 久热99视频在线观看| 黑人巨大精品欧美一区二区免费| 亚洲999一在线观看www| 欧美亚洲在线视频| 国产成人综合一区二区三区| 国产91精品不卡视频| 亚洲国产精品字幕| 青青草成人在线| 国产91对白在线播放| 亚洲精品suv精品一区二区| 国产精品va在线播放| 久久在精品线影院精品国产| 日韩精品视频免费专区在线播放| 97热在线精品视频在线观看| 日韩成人在线电影网| 日韩在线欧美在线| 国产欧洲精品视频| 成人黄色片在线| 欧日韩在线观看| 久久久久久尹人网香蕉| 91视频国产高清| 丝袜美腿亚洲一区二区| 久国内精品在线| 国模精品视频一区二区| 色偷偷偷综合中文字幕;dd| 日韩av在线电影网| 欧美一乱一性一交一视频| 久久人人爽亚洲精品天堂| 亚洲激情在线观看| 色综合久久精品亚洲国产| 亚洲人成亚洲人成在线观看| 91精品国产91久久久久久吃药| 奇门遁甲1982国语版免费观看高清| 日韩资源在线观看| 国产成人精品国内自产拍免费看| 日本在线观看天堂男亚洲| 国产成人高清激情视频在线观看| 国产精品一二区| 97在线精品国自产拍中文| 国产精品户外野外| 亚洲经典中文字幕| 成人免费看片视频| 亚洲欧美变态国产另类| 国产性色av一区二区| 日韩av在线天堂网| 久久久久国色av免费观看性色| 亚洲级视频在线观看免费1级| 上原亚衣av一区二区三区| 一区二区三区久久精品| 欧美插天视频在线播放| 成人欧美一区二区三区黑人| 欧美日韩亚洲激情| 日韩中文理论片| 国产精品极品美女粉嫩高清在线| 中文字幕日韩精品在线| 在线播放国产一区二区三区| 国产在线视频2019最新视频| 亚洲一区二区三区久久| 日韩av免费在线观看| 亚洲大胆美女视频| 欧美精品videos| 26uuu国产精品视频| 亚洲欧洲激情在线| 国产日韩欧美另类| 日韩精品在线免费观看视频| 国产97在线|日韩| 亚洲精品美女在线观看播放| 午夜精品久久久久久久男人的天堂| 中文国产成人精品久久一| 欧美一级大片在线免费观看|