日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > linux >内容正文

linux

嵌入式linux系统下简单守护进程(daemon)的编写

發(fā)布時(shí)間:2023/12/15 linux 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 嵌入式linux系统下简单守护进程(daemon)的编写 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

最近公司項(xiàng)目需要,需要在我們的嵌入式linux設(shè)備中創(chuàng)建一個(gè)守護(hù)進(jìn)程,用于保護(hù)系統(tǒng)中的主進(jìn)程,防止某些不可預(yù)期的意外導(dǎo)致主進(jìn)程異常結(jié)束后,系統(tǒng)完全宕機(jī)沒(méi)有任何反應(yīng),破壞用戶體驗(yàn)感。但是,查閱諸多資料之后發(fā)現(xiàn),大部分人都只講述了如何在x86平臺(tái)上創(chuàng)建和實(shí)現(xiàn)守護(hù)進(jìn)程,而并沒(méi)有人介紹過(guò)如何在嵌入式平臺(tái)上創(chuàng)建和實(shí)現(xiàn)守護(hù)進(jìn)程。于是,經(jīng)過(guò)一番摸索之后,從原理到代碼,都進(jìn)行了一些大致的了解,我自己提出了一些想法。下面就進(jìn)行一下簡(jiǎn)單的總結(jié)和整理。

1、技術(shù)原理

下面是網(wǎng)上摘抄的,關(guān)于x86的linux系統(tǒng)中對(duì)于守護(hù)進(jìn)程的介紹和描述。

守護(hù)進(jìn)程(Daemon)是一種運(yùn)行在后臺(tái)的一種特殊的進(jìn)程,它獨(dú)立于控制終端并且周期性的執(zhí)行某種任務(wù)或等待處理某些發(fā)生的事件。

守護(hù)進(jìn)程是個(gè)特殊的孤兒進(jìn)程,這種進(jìn)程脫離終端,為什么要脫離終端呢?之所以脫離于終端是為了避免進(jìn)程被任何終端所產(chǎn)生的信息所打斷,其在執(zhí)行過(guò)程中的信息也不在任何終端上顯示。由于在 Linux 中,每一個(gè)系統(tǒng)與用戶進(jìn)行交流的界面稱(chēng)為終端,每一個(gè)從此終端開(kāi)始運(yùn)行的進(jìn)程都會(huì)依附于這個(gè)終端,這個(gè)終端就稱(chēng)為這些進(jìn)程的控制終端,當(dāng)控制終端被關(guān)閉時(shí),相應(yīng)的進(jìn)程都會(huì)自動(dòng)關(guān)閉。但是守護(hù)進(jìn)程卻能突破這種限制,它脫離于終端并且在后臺(tái)運(yùn)行,并且它脫離終端的目的是為了避免進(jìn)程在運(yùn)行的過(guò)程中的信息在任何終端中顯示并且進(jìn)程也不會(huì)被任何終端所產(chǎn)生的終端信息所打斷。它從被執(zhí)行的時(shí)候開(kāi)始運(yùn)轉(zhuǎn),知道整個(gè)系統(tǒng)關(guān)閉才退出(當(dāng)然可以認(rèn)為的殺死相應(yīng)的守護(hù)進(jìn)程)。如果想讓某個(gè)進(jìn)程不因?yàn)橛脩艋蛑袛嗷蚱渌兓绊?#xff0c;那么就必須把這個(gè)進(jìn)程變成一個(gè)守護(hù)進(jìn)程。

2、設(shè)計(jì)步驟

對(duì)于x86平臺(tái)的linux系統(tǒng),理論上來(lái)說(shuō),要想實(shí)現(xiàn)上述的效果,守護(hù)進(jìn)程具有一套嚴(yán)格的實(shí)現(xiàn)步驟。也就是說(shuō),守護(hù)進(jìn)程必須在啟動(dòng)伊始,就去除掉一些系統(tǒng)相關(guān)的限制,這樣才能穩(wěn)定的在后臺(tái)運(yùn)行,而不至于被其他任務(wù)所干擾和影響。

下面是在x86平臺(tái)編寫(xiě)守護(hù)進(jìn)程的基本過(guò)程:

  • 屏蔽一些控制終端操作的信號(hào)。這是為了防止守護(hù)進(jìn)行在沒(méi)有運(yùn)行起來(lái)前,控制終端受到干擾退出或掛起。關(guān)于信號(hào)的更詳細(xì)用法,請(qǐng)看《信號(hào)中斷處理》。
  • 在后臺(tái)運(yùn)行。這是為避免掛起控制終端將守護(hù)進(jìn)程放入后臺(tái)執(zhí)行。方法是在進(jìn)程中調(diào)用 fork() 使父進(jìn)程終止, 讓守護(hù)進(jìn)行在子進(jìn)程中后臺(tái)執(zhí)行。
  • 脫離控制終端、登錄會(huì)話和進(jìn)程組。有必要先介紹一下 Linux 中的進(jìn)程與控制終端,登錄會(huì)話和進(jìn)程組之間的關(guān)系:進(jìn)程屬于一個(gè)進(jìn)程組,進(jìn)程組號(hào)(GID)就是進(jìn)程組長(zhǎng)的進(jìn)程號(hào)(PID)。登錄會(huì)話可以包含多個(gè)進(jìn)程組。這些進(jìn)程組共享一個(gè)控制終端。這個(gè)控制終端通常是創(chuàng)建進(jìn)程的 shell 登錄終端。 控制終端、登錄會(huì)話和進(jìn)程組通常是從父進(jìn)程繼承下來(lái)的。我們的目的就是要擺脫它們 ,使之不受它們的影響。因此需要調(diào)用 setsid() 使子進(jìn)程成為新的會(huì)話組長(zhǎng)。setsid() 調(diào)用成功后,進(jìn)程成為新的會(huì)話組長(zhǎng)和新的進(jìn)程組長(zhǎng),并與原來(lái)的登錄會(huì)話和進(jìn)程組脫離。由于會(huì)話過(guò)程對(duì)控制終端的獨(dú)占性,進(jìn)程同時(shí)與控制終端脫離。
  • 禁止進(jìn)程重新打開(kāi)控制終端。現(xiàn)在,進(jìn)程已經(jīng)成為無(wú)終端的會(huì)話組長(zhǎng),但它可以重新申請(qǐng)打開(kāi)一個(gè)控制終端。可以通過(guò)使進(jìn)程不再成為會(huì)話組長(zhǎng)來(lái)禁止進(jìn)程重新打開(kāi)控制終端,采用的方法是再次創(chuàng)建一個(gè)子進(jìn)程。
  • 關(guān)閉打開(kāi)的文件描述符。進(jìn)程從創(chuàng)建它的父進(jìn)程那里繼承了打開(kāi)的文件描述符。如不關(guān)閉,將會(huì)浪費(fèi)系統(tǒng)資源,造成進(jìn)程所在的文件系統(tǒng)無(wú)法卸下以及引起無(wú)法預(yù)料的錯(cuò)誤。
  • 改變當(dāng)前工作目錄。進(jìn)程活動(dòng)時(shí),其工作目錄所在的文件系統(tǒng)不能卸下。一般需要將工作目錄改變到根目錄。對(duì)于需要轉(zhuǎn)儲(chǔ)核心,寫(xiě)運(yùn)行日志的進(jìn)程將工作目錄改變到特定目錄如 /tmp。
  • 重設(shè)文件創(chuàng)建掩模。進(jìn)程從創(chuàng)建它的父進(jìn)程那里繼承了文件創(chuàng)建掩模。它可能修改守護(hù)進(jìn)程所創(chuàng)建的文件的存取權(quán)限。為防止這一點(diǎn),必須將文件創(chuàng)建掩模清除。
  • 處理 SIGCHLD 信號(hào)。對(duì)于某些進(jìn)程,特別是服務(wù)器進(jìn)程往往在請(qǐng)求到來(lái)時(shí)生成子進(jìn)程處理請(qǐng)求。如果父進(jìn)程不等待子進(jìn)程結(jié)束,子進(jìn)程將成為僵尸進(jìn)程(zombie)從而占用系統(tǒng)資源(關(guān)于僵尸進(jìn)程的更多詳情,請(qǐng)看《僵尸進(jìn)程》)。如果父進(jìn)程等待子進(jìn)程結(jié)束,將增加父進(jìn)程的負(fù)擔(dān),影響服務(wù)器進(jìn)程的并發(fā)性能。在 Linux 下可以簡(jiǎn)單地將 SIGCHLD 信號(hào)的操作設(shè)為 SIG_IGN 。這樣,內(nèi)核在子進(jìn)程結(jié)束時(shí)才不會(huì)產(chǎn)生僵尸進(jìn)程。
  • -
    下面就是摘自某前輩的博客上的全套源碼:

    #include <unistd.h> #include <signal.h> #include <fcntl.h> #include <sys/syslog.h> #include <sys/param.h> #include <sys/types.h> #include <sys/stat.h> #include <stdio.h> #include <stdlib.h> #include <time.h> int init_daemon(void) { int pid; int i; // 1)屏蔽一些控制終端操作的信號(hào) signal(SIGTTOU,SIG_IGN); signal(SIGTTIN,SIG_IGN); signal(SIGTSTP,SIG_IGN); signal(SIGHUP ,SIG_IGN); // 2)在后臺(tái)運(yùn)行 if( pid=fork() ){// 父進(jìn)程 exit(0);//結(jié)束父進(jìn)程,子進(jìn)程繼續(xù) }else if(pid< 0){// 出錯(cuò) perror("fork"); exit(EXIT_FAILURE); } // 3)脫離控制終端、登錄會(huì)話和進(jìn)程組 setsid(); // 4)禁止進(jìn)程重新打開(kāi)控制終端 if( pid=fork() ){// 父進(jìn)程 exit(0);// 結(jié)束第一子進(jìn)程,第二子進(jìn)程繼續(xù)(第二子進(jìn)程不再是會(huì)話組長(zhǎng)) }else if(pid< 0){// 出錯(cuò) perror("fork"); exit(EXIT_FAILURE); } // 5)關(guān)閉打開(kāi)的文件描述符 // NOFILE 為 <sys/param.h> 的宏定義 // NOFILE 為文件描述符最大個(gè)數(shù),不同系統(tǒng)有不同限制 for(i=0; i< NOFILE; ++i){ close(i); } // 6)改變當(dāng)前工作目錄 chdir("/tmp"); // 7)重設(shè)文件創(chuàng)建掩模 umask(0); // 8)處理 SIGCHLD 信號(hào) signal(SIGCHLD,SIG_IGN); return 0; } int main(int argc, char *argv[]) { init_daemon(); while(1); return 0; }

    3、實(shí)際情況

    從上面的流程邏輯和實(shí)際代碼可以看出,x86平臺(tái)的守護(hù)進(jìn)程,其實(shí)還是比較復(fù)雜的,需要進(jìn)行一堆比較繁瑣的初始化過(guò)程。然而,對(duì)于嵌入式平臺(tái)而言,流程似乎可以簡(jiǎn)化一些,不用這么復(fù)雜的處理。因?yàn)?#xff0c;在本次嵌入式系統(tǒng)中啟用守護(hù)進(jìn)程。其目的只是簡(jiǎn)單的利用這個(gè)守護(hù)進(jìn)程來(lái)啟動(dòng)另一個(gè)被守護(hù)的進(jìn)程,然后定時(shí)監(jiān)控該進(jìn)程是否仍在正常運(yùn)行,一旦發(fā)現(xiàn)其運(yùn)行異常,則立即重啟該進(jìn)程就好。

    所以,我對(duì)上述的流程進(jìn)行了簡(jiǎn)化,得到如下的流程:

  • 在守護(hù)進(jìn)程中啟動(dòng)需要被監(jiān)視的進(jìn)程。
  • 在守護(hù)進(jìn)程中創(chuàng)建一個(gè)線程,用來(lái)定時(shí)監(jiān)測(cè)被守護(hù)的進(jìn)程的運(yùn)行狀態(tài)
  • 守護(hù)進(jìn)程判斷被守護(hù)的進(jìn)程是否仍在正常運(yùn)行,一旦發(fā)現(xiàn)其運(yùn)行異常,則立即重啟該進(jìn)程。
  • -
    4、實(shí)際源碼

    以下就是在本嵌入式系統(tǒng)項(xiàng)目中所設(shè)計(jì)的守護(hù)進(jìn)程模塊的全套代碼。

    /************************************************************************************************** ** 函數(shù)名稱(chēng): lockfile ** 功能描述: 對(duì)文件加鎖/解鎖 ** 輸入?yún)?shù): lock: 1表示進(jìn)行加鎖處理,0表示進(jìn)行解鎖處理 ** 輸出參數(shù): 無(wú) ** 返回參數(shù): 無(wú) **************************************************************************************************/ int tryto_lockfile(int fd, int lock) {struct flock fl;fl.l_type = (lock == 1) ? F_WRLCK : F_UNLCK;fl.l_start = 0;fl.l_whence = SEEK_SET;fl.l_len = 0;return (fcntl(fd, F_SETLK, &fl)); }/************************************************************************************************** ** 函數(shù)名稱(chēng): get_proc_running_state ** 功能描述: 獲取進(jìn)程運(yùn)行狀態(tài) ** 輸入?yún)?shù): 無(wú) ** 輸出參數(shù): 無(wú) ** 返回參數(shù): 返回-1表示路徑錯(cuò)誤 ** 返回參數(shù): 返回0表示進(jìn)程從未運(yùn)行過(guò),返回1表示進(jìn)程曾經(jīng)運(yùn)行過(guò)但是現(xiàn)在停止運(yùn)行了,返回2表示進(jìn)程正在運(yùn)行中 **************************************************************************************************/ static int get_proc_running_state(const char* filename) {int fd;if (filename == NULL) { /* 文件名為空 */return -1;}fd = open(filename, O_RDWR, (S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH));if (fd < 0) { /* 文件不存在,表示進(jìn)程從未運(yùn)行過(guò) */return 0;}if (tryto_lockfile(fd, 1) == -1) { /* 文件加鎖失敗,表示進(jìn)程在運(yùn)行中 */close(fd);return 2;} else { /* 文件加鎖成功,表示進(jìn)程已經(jīng)消失 */tryto_lockfile(fd, 0); /* 此處要注意記得解鎖和關(guān)閉文件 */close(fd);return 1;} }/************************************************************************************************** ** 函數(shù)名稱(chēng): proc_watch ** 功能描述: 檢測(cè)進(jìn)程是否有在運(yùn)行,沒(méi)有運(yùn)行則重新啟動(dòng)之 ** 輸入?yún)?shù): procname: 進(jìn)程名 ** 輸出參數(shù): 無(wú) ** 返回參數(shù): 返回-1表示進(jìn)程從未運(yùn)行過(guò);返回0表示進(jìn)程當(dāng)前運(yùn)行正常; ** 返回參數(shù): 返回其他非零值表示進(jìn)程不存在且已被重新啟動(dòng),返回的值是新的pid值 **************************************************************************************************/ int proc_watch(const char *procname) {int result, state;char filename[100];result = 0;sprintf(filename, "/var/run/%s.pid", procname);state = get_proc_running_state(filename);switch (state){case 0:result = -1;break;case 1:result = start_proc_by_name(procname);break;case 2:result = 0;break;default:break;}return result; }/************************************************************************************************** ** 函數(shù)名稱(chēng): start_proc ** 功能描述: 啟動(dòng)進(jìn)程開(kāi)始運(yùn)行 ** 輸入?yún)?shù): 無(wú) ** 輸出參數(shù): 無(wú) ** 返回參數(shù): 進(jìn)程的ID號(hào),若啟動(dòng)失敗則返回0 **************************************************************************************************/ int start_proc_by_name(const char* procname) {pid_t pid, child_pid;char filename[100];sprintf(filename, "%s%s", PROC_FILE_PATH, procname);child_pid = 0;if (access(filename, X_OK | F_OK) != 0) { /* 如果文件存在,并且可執(zhí)行 */return 0;}pid = fork(); /* 首先要fork一個(gè)進(jìn)程出來(lái) */if (pid < 0) { /* 創(chuàng)建進(jìn)程失敗 */return 0;} else if (pid == 0) { /* 創(chuàng)建進(jìn)程成功,此處是子進(jìn)程的代碼 */if (execl(filename, procname, (char *)NULL) != -1) {return 1;} else {return 0;}} else { /* 創(chuàng)建進(jìn)程成功,此處是父進(jìn)程代碼 */child_pid = pid;}return (int)child_pid; }/************************************************************************************************** ** 函數(shù)名稱(chēng): thread_client_hdl ** 功能描述: client進(jìn)程監(jiān)視線程 ** 輸入?yún)?shù): 無(wú) ** 輸出參數(shù): 無(wú) ** 返回參數(shù): 無(wú) **************************************************************************************************/ static void *thread_client_hdl(void *pdata) {int result;pdata = pdata;sleep(10); /* 第一次要進(jìn)行延時(shí) */for (;;) {printf("time to check thread_client...\n");result = proc_watch(PROC_NAME_CLIENT);if (result == -1) {printf("thread_client never exist...\n");} else if (result == 0) {printf("thread_client running ok...\n");} else {printf("thread_client has gone! but restarted...\n");}sleep(10);}return NULL; }/************************************************************************************************** ** 函數(shù)名稱(chēng): main ** 功能描述: 入口主函數(shù) ** 輸入?yún)?shù): 無(wú) ** 輸出參數(shù): 無(wú) ** 返回參數(shù): 無(wú) **************************************************************************************************/ int main(int argc, char *argv[]) {int client_para;char *p, *process_name;pthread_t thread_client;process_name = argv[0]; /* 獲取進(jìn)程名稱(chēng) */p = process_name + strlen(process_name);while (*p != '/' && p != process_name) {p--;}if (*p == '/') {process_name = p + 1;}printf("\"%s\" starting...\n", process_name);client_para = 0x01;if (pthread_create(&thread_client, NULL, thread_client_hdl, &client_para) != 0) {printf("create thread_client failed!\n");return 1;}if (start_proc_by_name(PROC_NAME_CLIENT) == 0) {printf("start thread_client failed!\n");return 1;}for (;;) {sleep(60);printf("i am still alive...\n");}return 0; }

    5、其他說(shuō)明

    待補(bǔ)充

    6、參考文獻(xiàn)

    1、http://blog.csdn.net/lianghe_work/article/details/47659889
    2、http://blog.csdn.net/liangxanhai/article/details/7752898

    總結(jié)

    以上是生活随笔為你收集整理的嵌入式linux系统下简单守护进程(daemon)的编写的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

    免费电影一区二区三区 | 99久久精品国产网站 | 亚洲视频每日更新 | 黄色大片日本 | 精品免费观看 | 天天综合成人 | 在线观看色网站 | 青青河边草免费直播 | 国产一级电影在线 | 韩国精品福利一区二区三区 | 91精品视频在线播放 | 最近免费观看的电影完整版 | 国产高清免费观看 | 久久人91精品久久久久久不卡 | 天天干天天操天天做 | 日韩成人免费在线观看 | 久久成人麻豆午夜电影 | 91在线视频一区 | 成年人免费观看国产 | 亚洲免费av片 | 久草网站在线观看 | 日韩av电影手机在线观看 | 免费在线一区二区 | 国产五月色婷婷六月丁香视频 | 视频一区二区免费 | 精品一区二区在线免费观看 | 99免费观看视频 | 五月激情五月激情 | 免费成人在线观看视频 | 91在线视频观看免费 | 夜色资源站国产www在线视频 | 国产香蕉av | 日韩理论在线 | 成人网444ppp| av在线播放免费 | 欧美日韩国产综合一区二区 | 一区中文字幕在线观看 | 一区二区毛片 | 久久久wwww| 麻花豆传媒mv在线观看网站 | 九九免费在线观看 | 中文视频在线看 | 91桃色视频 | 在线亚洲日本 | 欧亚久久 | 国产91勾搭技师精品 | 欧美午夜视频在线 | 天天爽天天碰狠狠添 | 91中文字幕| 婷色在线 | 日韩午夜小视频 | 国产精品美女毛片真酒店 | av中文字幕在线播放 | 欧美一区二区三区激情视频 | 国产人免费人成免费视频 | 日韩成人免费在线电影 | 久久精品99北条麻妃 | 久久久精品视频网站 | 日韩激情网 | 国产精品毛片一区二区 | av成人资源 | av中文字幕剧情 | 97av视频在线观看 | 色.com| 欧美高清视频不卡网 | 婷婷四房综合激情五月 | 国产精品99久久久久 | 日韩色中色 | 黄色av免费 | 中文字幕免费播放 | 欧洲精品亚洲精品 | 久久久99精品免费观看乱色 | 国产91丝袜在线播放动漫 | 国产中文字幕视频 | 久久一线| 久久网站最新地址 | 国产91精品一区二区 | 国产日产精品一区二区三区四区的观看方式 | 中国精品一区二区 | 日韩有码中文字幕在线 | 黄色av电影在线 | 国产黄色美女 | 在线一区观看 | 日韩高清一区二区 | www日韩视频 | 日韩高清国产精品 | 日日夜夜精品视频天天综合网 | 国产免费成人 | 亚洲网站在线 | www亚洲精品 | 日韩夜夜爽| 精品在线亚洲视频 | 免费色婷婷| 亚洲精品国产区 | 久久男人中文字幕资源站 | 午夜精品一二三区 | 国产一级二级视频 | 国产精品第二十页 | 精品一区二区免费在线观看 | 人人搞人人搞 | bbw av| 色视频在线免费观看 | 国产日韩在线一区 | 日本性xxx| 欧美日本一二三 | 欧美另类交人妖 | 99电影| 亚洲国产免费看 | 日韩专区在线播放 | 天天综合天天综合 | 偷拍区另类综合在线 | 亚洲综合成人婷婷小说 | 91桃色在线观看视频 | 亚洲专区中文字幕 | 四虎影视精品成人 | 玖玖视频精品 | 亚洲激情 欧美激情 | 97精品国产91久久久久久久 | 国产精彩视频一区二区 | 日韩中文字幕91 | 91精品成人 | 我要色综合天天 | 久久夜色精品国产欧美一区麻豆 | 91九色视频观看 | 97国产大学生情侣白嫩酒店 | 国产 色| 色网免费观看 | 国产精品免费在线播放 | 最近能播放的中文字幕 | 中文字幕二区 | 国产一二三四在线视频 | 夜夜夜| 亚洲经典精品 | 天天射天天舔天天干 | 国产在线精品区 | 久久美女视频 | av电影中文字幕 | 国产精品99久久久精品 | 天堂麻豆 | 中文字幕日韩在线播放 | www久久九 | 免费观看性生交 | 日韩欧美精品在线观看 | 五月天久久综合 | 国产精品99久久久 | 欧美成人久久 | 国产永久网站 | 免费看一级一片 | 69国产精品视频 | 一本一道久久a久久精品蜜桃 | 91完整版在线观看 | 欧美视频在线二区 | 国产96精品 | 91毛片视频 | 992tv在线观看网站 | 视频高清 | 免费的国产精品 | www.夜夜骑.com| 99久久久久国产精品免费 | 视频一区二区在线观看 | 日韩欧美在线视频一区二区三区 | 在线成人欧美 | 午夜私人影院久久久久 | www.狠狠插.com| 国产美女视频免费观看的网站 | 99在线视频免费观看 | 国产精品久久免费看 | 毛片888| 在线成人免费 | 久久久综合九色合综国产精品 | 亚洲国产精品推荐 | 美女黄频视频大全 | 天天操天天透 | 正在播放国产精品 | 久久久久久久久久久成人 | 激情网婷婷 | 黄色免费网战 | 亚洲区另类春色综合小说校园片 | 亚洲国产中文字幕 | 色射爱 | 亚洲一级国产 | 808电影免费观看三年 | 色在线高清 | 狠狠久久婷婷 | www.五月婷 | 国产一区网址 | 国产精品久久久久免费观看 | 国产精品21区 | 91高清在线| 久草在线一免费新视频 | 天天干天天综合 | 国产精品精品久久久久久 | 国产精品免费久久久久影院仙踪林 | 国产成人亚洲精品自产在线 | 欧美日韩视频在线观看免费 | 五月婷婷av | 丰满少妇麻豆av | av电影在线观看 | 免费 在线 中文 日本 | 蜜臀久久99精品久久久酒店新书 | 黄p网站在线观看 | 日本乱视频 | 亚洲涩涩网站 | 久久夜av| 狠狠色免费 | 日韩精品中文字幕久久臀 | 天天爽天天爽夜夜爽 | 日韩在线电影观看 | 国产999精品久久久久久麻豆 | 久久国产精品免费视频 | 日韩中文字幕免费视频 | 免费午夜网站 | 日韩中文在线电影 | 国产va在线 | 精品亚洲午夜久久久久91 | 91视频大全| 中文字幕第一页在线 | 三级免费黄| 99久久99| 国产区精品区 | 日本特黄一级 | 97色噜噜 | 一级黄色片网站 | 日韩三级视频在线观看 | 综合色伊人 | 99久久精品日本一区二区免费 | 日本久久视频 | 亚洲综合精品视频 | 国产成人无码AⅤ片在线观 日韩av不卡在线 | 激情九九 | 久草在线最新视频 | 国内精品美女在线观看 | 色综合网| 99中文在线 | 成人在线视频你懂的 | 久草久草视频 | 亚洲波多野结衣 | 国产精品福利在线 | 久久精品中文字幕一区二区三区 | 91精品久久香蕉国产线看观看 | 国产区在线看 | 狠狠干成人 | 最近中文字幕 | 91九色视频| 日韩网站免费观看 | 久久九九久久精品 | 蜜臀久久99精品久久久酒店新书 | 久久免费一级片 | 日韩视频在线观看免费 | 日韩在线精品 | 福利视频网站 | 五月婷婷操 | 国产中文在线字幕 | 天天摸夜夜操 | 国产a国产 | 色噜噜狠狠色综合中国 | 日日夜夜狠狠操 | 久久国产一二区 | 99婷婷| 激情综合亚洲精品 | 天堂中文在线播放 | 91丨九色丨蝌蚪丰满 | 91精品国自产在线观看 | 欧美美女视频在线观看 | 国产精品12 | 久久er99热精品一区二区 | www..com黄色片 | 久久综合狠狠综合久久狠狠色综合 | 国产精品成人国产乱 | 可以免费看av | 国产精品毛片一区二区在线看 | 亚洲免费一级电影 | 日韩高清av在线 | 999成人| 久久无码av一区二区三区电影网 | 国产字幕在线看 | 999久久| 欧美激情va永久在线播放 | 天天射天天射 | 在线观看精品黄av片免费 | 在线观看成人av | 在线观看视频亚洲 | 国产精品久久久久久久久蜜臀 | 日韩精品欧美视频 | 国产精品福利小视频 | 99在线精品免费视频九九视 | 81国产精品久久久久久久久久 | 欧美日韩免费观看一区二区三区 | 免费看黄20分钟 | 日本婷婷色 | 欧美另类高清 | 国产偷国产偷亚洲清高 | 欧美一区二区三区激情视频 | 国产一卡久久电影永久 | 国产又粗又长的视频 | 天天射综合 | 综合色婷婷 | 日韩av在线资源 | 久久久国产精品亚洲一区 | 中文字幕在线看视频 | 五月婷婷在线观看视频 | 91在线视频免费播放 | 久久久精品欧美一区二区免费 | 成人一级免费电影 | 色a综合 | 成年人黄色免费看 | 国产精品一区二区av日韩在线 | 夜夜躁狠狠躁日日躁 | 狂野欧美激情性xxxx欧美 | 波多野结衣在线播放一区 | 国产精品第52页 | 亚洲黄色av | av7777777 | 亚洲人精品午夜 | 欧美激情另类文学 | 91久久黄色| 黄色大片中国 | 9999在线视频| 国产裸体视频网站 | 国产一区二区不卡视频 | 久草精品视频 | 日日干视频| 久久超级碰视频 | 天天操天天操一操 | 激情av资源 | 97国产在线 | 嫩草伊人久久精品少妇av | 婷婷亚洲五月色综合 | 久久三级毛片 | 在线观看国产永久免费视频 | 中文字幕观看在线 | 不卡av免费在线观看 | 久久久久久欧美二区电影网 | 免费视频18| 免费黄色av. | 中文字幕资源网在线观看 | 草久久久久 | 在线视频久久 | 西西4444www大胆视频 | 日韩三级视频在线观看 | 黄色软件视频大全免费下载 | 天天干天天拍天天操天天拍 | 永久免费的啪啪网站免费观看浪潮 | 欧美日韩在线播放一区 | 九九久久婷婷 | 中文字幕第一页在线vr | 成人福利在线播放 | 黄色一级大片在线免费看产 | 精品视频免费久久久看 | 中文字幕在线成人 | 免费视频久久久久 | 久久不卡av | 九九九毛片 | 日本不卡一区二区 | 成人av亚洲 | 99精品免费久久久久久久久日本 | 国产中文在线视频 | 色香com.| 免费看黄的视频 | 亚洲成av人片在线观看香蕉 | 欧美激情第28页 | 欧美性大胆 | 国产一区二区三区 在线 | 成人一区不卡 | 婷婷久久久久 | 综合影视| 天天操伊人 | 免费看网站在线 | 午夜在线观看影院 | 天天干,天天干 | 天天操夜夜操天天射 | 天堂va在线观看 | 免费a v观看| 亚洲蜜桃在线 | 成人在线一区二区三区 | 91九色在线视频观看 | 亚洲精品永久免费视频 | 久久精品久久久久电影 | 日韩色一区二区三区 | 国产精品女人久久久 | 久久综合中文字幕 | 中文字幕在线视频国产 | 天天干人人干 | 免费在线成人 | 免费一级特黄录像 | 久草在线综合网 | 色香蕉网| 97日日碰人人模人人澡分享吧 | 天天操夜夜叫 | 国产精品一区二区三区在线播放 | 午夜视频福利 | 一区二区三区免费在线观看视频 | 国产精品福利午夜在线观看 | 精品国产综合区久久久久久 | 天天干天天操天天干 | 久久精品日产第一区二区三区乱码 | 久久老司机精品视频 | 久久在线视频精品 | 日韩欧美视频在线免费观看 | 天天操网址 | 五月婷亚洲| 日本天天操 | 天天综合网~永久入口 | 新av在线 | 欧美日韩18 | 久久久在线视频 | av免费在线免费观看 | 久久五月激情 | 亚洲在线视频网站 | 日韩高清在线观看 | 手机在线看永久av片免费 | 美女黄视频免费 | 丝袜av一区 | 三级黄色片子 | 一区二区视频网站 | 四虎www com| 伊人狠狠 | 日韩免费看片 | www麻豆视频 | 狠狠色丁香婷综合久久 | 国产精品久久久久永久免费 | 欧美日韩视频在线一区 | 91午夜精品 | wwwwww色| 综合网五月天 | 69国产盗摄一区二区三区五区 | 51精品国自产在线 | 久草精品电影 | 色综合人人 | 在线观看a视频 | 亚州欧美精品 | 99热这里只有精品国产首页 | 欧美日韩69 | 成人av动漫在线 | 久久99免费视频 | www久久| 一级欧美黄 | 伊人六月 | a在线观看国产 | 婷婷视频| 国产成人av电影在线观看 | 97国产精品视频 | 97偷拍在线视频 | 国产美女免费视频 | 国产麻豆精品传媒av国产下载 | 久久久久免费网站 | 麻豆 free xxxx movies hd | 久久久精品二区 | 欧美精品一区二区三区四区在线 | 欧美成人区| 久久99久久99精品免费看小说 | 中文字幕在线观看三区 | 91精品视频免费看 | 九九热在线精品 | 国产中文字幕视频在线观看 | 免费观看性生交大片3 | 九月婷婷人人澡人人添人人爽 | 九九视频精品在线 | 麻豆视频免费观看 | 99精品视频网| 91九色九色| 久久综合五月天婷婷伊人 | 午夜精品久久久久久久爽 | 亚洲乱码一区 | 国产小视频在线免费观看视频 | 黄色av网站在线观看 | 久久国产a | 水蜜桃亚洲一二三四在线 | 久久精品在线免费观看 | 99在线精品免费视频九九视 | 亚洲高清91 | 成人在线视频观看 | 日本在线观看一区二区 | 99热官网| 成人四虎影院 | 国产中文字幕网 | 免费在线观看成人 | 亚洲精品视频网 | 麻豆国产露脸在线观看 | 成人久久国产 | 伊人av综合| 免费精品国产 | 不卡的av电影在线观看 | 欧美性脚交 | 免费看毛片网站 | 国产综合91 | 91av电影在线观看 | 午夜精品电影一区二区在线 | 久久精品欧美一区二区三区麻豆 | 久久99精品久久久久久秒播蜜臀 | 免费一级日韩欧美性大片 | 在线看一区 | 在线国产片 | 日韩一区二区三区不卡 | 91最新视频 | 美女久久久久久久 | 亚洲精品玖玖玖av在线看 | 操操操日日日 | 四虎成人精品 | 久久夜色精品国产欧美乱 | 99视频在线 | 国产一区二区三区免费观看视频 | 色婷婷天天干 | 人人干狠狠操 | 亚洲精品午夜国产va久久成人 | 国产成人久久av | 九九精品视频在线看 | 亚洲欧美国产精品18p | 国产视频1区2区3区 久久夜视频 | 96精品视频 | 国内精品久久久久久久久久清纯 | 久久国产美女视频 | 日本在线观看中文字幕 | 97超碰在线久草超碰在线观看 | 欧美日韩xx | 国产美女精品在线 | 久久免费国产精品 | 三级动态视频在线观看 | 久久久www成人免费精品 | av丝袜天堂 | 亚洲欧美偷拍另类 | 久久综合五月天婷婷伊人 | 国产精品高潮久久av | 久草在线最新免费 | 中文字幕在线视频一区 | 伊人色综合网 | 国产精品va在线观看入 | 国产亚洲综合精品 | 久久久久成人精品 | 日韩中文字幕免费 | 中文字幕五区 | 国产69精品久久久久久 | 欧美日韩网址 | 国产精品麻豆99久久久久久 | 欧洲精品视频一区二区 | 久久试看 | 国产精品资源网 | 日韩欧美国产激情在线播放 | 一级黄色免费网站 | avwww在线观看 | 免费网址在线播放 | 久久综合五月 | 国产又粗又硬又爽的视频 | 不卡电影免费在线播放一区 | 激情五月色播五月 | 91av国产视频 | 精品九九九九 | 人人草在线观看 | 久久国产高清 | 亚洲精品理论片 | 国产一级性生活视频 | 丁香午夜 | www.日日日.com | 国产精品一区二区在线免费观看 | 色网站国产精品 | av成人在线网站 | 麻豆91视频| 成人免费91 | 狠狠狠干| 在线中文字母电影观看 | 日韩成人精品 | 日本三级在线观看中文字 | 五月婷婷另类国产 | 国产精品毛片久久久久久 | 国产精久久 | 97国产超碰 | 99热国产在线中文 | 亚洲麻豆精品 | 美女免费黄网站 | 精品一区二区三区香蕉蜜桃 | 日本黄色一级电影 | 国产黄色在线观看 | 日韩伦理一区二区三区av在线 | 丁香花中文字幕 | 日韩免费看视频 | av在线观| 日韩免费高清 | 欧美极品少妇xxxx | 在线精品观看国产 | 国产视频久| 精品久久久久久亚洲综合网站 | 久久精品久久精品久久 | 国产精品国产三级国产不产一地 | 91久久国产综合精品女同国语 | 日韩专区 在线 | 国产在线观看 | 国内精品久久久久影院优 | 日韩在线观看视频在线 | 久久超碰网 | 婷婷激情在线 | 色偷偷888欧美精品久久久 | 亚洲九九精品 | 日日夜夜噜 | 在线观看国产成人av片 | 天天干天天干天天操 | mm1313亚洲精品国产 | 激情狠狠干 | 国产精品久久久久久爽爽爽 | 激情偷乱人伦小说视频在线观看 | 99视频在线免费 | 97热视频| 五月婷综合| 国产精品久久久久久久久久免费看 | 日韩动态视频 | 日韩aⅴ视频 | 中国一级片在线 | 国产美女无遮挡永久免费 | 高清免费在线视频 | 97视频在线观看视频免费视频 | 韩国视频一区二区三区 | 久久撸在线视频 | 欧美成人精品三级在线观看播放 | 久久午夜国产 | 91在线91拍拍在线91 | 成人av在线一区二区 | 久久私人影院 | 97视频在线免费观看 | 国产精品免费人成网站 | 不卡的av在线 | 久久国内免费视频 | 国产精品白丝av | 狠狠综合久久av | 我要看黄色一级片 | 精品毛片久久久久久 | 国产一区欧美日韩 | 欧美日韩3p | 国产免费a | 国产精品久久久久久久7电影 | 六月丁香综合网 | 黄色免费网站下载 | 免费成人黄色 | 丁香婷婷久久久综合精品国产 | 亚洲电影久久久 | 中文字幕一区二区三区久久 | 激情综合色图 | 97在线精品 | 国产精品久久久久一区二区国产 | 五月婷婷中文字幕 | 国产三级精品在线 | 黄色精品一区二区 | 欧美性生活免费看 | 黄色官网在线观看 | 不卡的av在线 | 免费看黄色小说的网站 | 欧美精品一级视频 | 又紧又大又爽精品一区二区 | 久久久国产一区二区三区 | 国产亚洲片| 国产成人一区二区三区在线观看 | 成人免费一区二区三区在线观看 | 日批视频在线观看免费 | 久艹视频免费观看 | 欧美尹人 | 成人一区二区三区在线 | 懂色av一区二区在线播放 | www日韩在线观看 | 五月激情姐姐 | 91精品在线看 | 日韩r级在线 | 国产又黄又爽无遮挡 | 久久av电影 | 国产精品电影一区二区 | 美女久久久久久久久久久 | 久久天堂网站 | 色婷婷av一区二 | 久久99精品久久久久久秒播蜜臀 | 欧美精选一区二区三区 | 国产亚洲精品久久 | 一区二区精品在线 | www.香蕉视频 | 在线免费观看视频你懂的 | 色综合网| 国产精品国产三级在线专区 | 国产一区二区久久精品 | 久久综合九色99 | 婷婷在线免费观看 | 六月丁香激情综合色啪小说 | 久久免费精品国产 | 国内精品视频在线播放 | 一区二区精品在线 | 亚洲精品无 | 毛片一级免费一级 | av成人在线观看 | 911香蕉视频 | 久久久综合精品 | 久久久久亚洲精品中文字幕 | 亚洲 欧美日韩 国产 中文 | 成人av电影在线 | 色综合天天色综合 | 亚洲高清精品在线 | www.xxx.性狂虐 | 久久精品综合 | 婷婷精品在线视频 | 久久久久久免费网 | 亚洲午夜不卡 | 在线观看岛国片 | 911免费视频 | 精品国产精品久久一区免费式 | 中文字幕免费国产精品 | 日韩丝袜 | 91网址在线观看 | 国产亚州av | 伊人国产在线观看 | 国产在线视频不卡 | 国产麻豆精品久久一二三 | 美女免费电影 | 美国人与动物xxxx | 美女国产| 天天色天天操综合网 | 久久久久北条麻妃免费看 | 国产成人91 | 国产亚洲视频中文字幕视频 | 欧美国产不卡 | 一区二区不卡高清 | 日韩在线免费视频 | 久久午夜网 | 久久人人97超碰com | 午夜精品一区二区三区在线观看 | 色www精品视频在线观看 | 国产成人亚洲精品自产在线 | 精品在线视频一区二区三区 | 久草视频手机在线 | 国产日本在线 | 六月激情丁香 | 国内精品久久久久久久久久清纯 | 天天操天天干天天操天天干 | 91av美女| 久久久久国产一区二区三区 | 另类五月激情 | 深爱婷婷网 | 国产精品资源网 | www.干| 99免费在线视频观看 | 成人免费亚洲 | 成人免费在线视频观看 | 欧美国产一区在线 | 日韩欧美在线一区二区 | 国产精品片 | 在线电影av| 欧美精品一区二区在线播放 | 99中文字幕 | 在线视频日韩一区 | 精品国产1区二区 | 一级特黄av | 日韩伦理片一区二区三区 | 亚洲成人av影片 | 中文字幕中文字幕在线中文字幕三区 | 国产专区精品视频 | 午夜在线观看影院 | 国内成人精品2018免费看 | 欧美激情xxxx性bbbb | 91av大全| 国产精品一区一区三区 | 九九热av | 欧美日韩综合在线 | 91伊人久久大香线蕉蜜芽人口 | 偷拍福利视频一区二区三区 | 欧美午夜激情网 | 黄色一区三区 | av在线免费观看黄 | 亚洲国产精品成人精品 | 日韩免费中文 | 精品国产诱惑 | 天天操操操操操 | 国产精品成人在线观看 | 久久美女视频 | 国产专区免费 | 亚洲精品乱码久久久久久蜜桃不爽 | 精品久久久久久亚洲综合网站 | 成人一级免费电影 | 色噜噜噜噜 | 一区二区三区久久精品 | 91免费视频网站在线观看 | 99热在 | 午夜精品久久久久 | 亚洲精品玖玖玖av在线看 | 天天爱天天射天天干天天 | 精品免费观看视频 | 久久精品久久综合 | 日韩网站一区二区 | 亚洲视频一区二区三区在线观看 | 色婷婷综合视频在线观看 | 久久成电影| 91丨九色丨蝌蚪丰满 | 99精品免费 | 草在线视频 | 久久久久久免费网 | 成人在线免费小视频 | 亚州激情视频 | 亚洲成人第一区 | 欧美精品久久久久久久久老牛影院 | 色 免费观看 | 亚洲天天做 | www.xxxx欧美| 在线直播av | 在线播放精品一区二区三区 | 91伊人| 午夜精品导航 | 久久99久久99精品免视看婷婷 | 99久久国产免费,99久久国产免费大片 | 2019av在线视频 | 亚洲美女在线一区 | 在线a人片免费观看视频 | www.色爱| 国产不卡在线观看 | 国产精品久久伊人 | 波多野结衣视频一区 | 亚洲综合导航 | 国产资源中文字幕 | 国产97色在线 | 在线va视频 | 国产 日韩 欧美 在线 | 欧美一级片在线播放 | 亚洲精品www久久久久久 | 国产91勾搭技师精品 | 精品1区2区3区 | 国产伦理久久精品久久久久_ | 91天堂素人约啪 | 69性欧美| 久久免费视频2 | 欧美日本一二三 | 91av视频在线免费观看 | 激情丁香月| 三级黄色大片在线观看 | 国产五十路毛片 | 久久伊人国产精品 | 不卡视频一区二区三区 | 国产手机视频在线 | 黄色.com| 九色精品免费永久在线 | 91资源在线 | 一区二区三区在线视频111 | 亚洲国产精品影院 | 福利久久 | 欧美日韩免费观看一区=区三区 | av高清影院| 91麻豆精品国产91久久久无限制版 | 中文字幕日韩无 | www.av中文字幕.com | 亚洲国产精品成人精品 | 欧美日韩国产精品一区二区 | 日韩在线首页 | 丁香婷婷色综合亚洲电影 | 色婷婷狠 | 国产97超碰| 成年人免费观看在线视频 | 国产精品中文字幕在线观看 | 亚洲午夜在线视频 | 黄色免费av| 欧美在线视频一区二区三区 | 91在线小视频 | 国产精品免费观看久久 | 福利一区二区在线 | 婷婷丁香综合 | av在线小说| 国产精品久久久久久久久免费 | 亚洲高清91 | 久久国产高清视频 | 在线有码中文字幕 | 香蕉视频久久 | 亚洲欧洲av| 久草爱| 国产又粗又猛又爽 | 日本黄色免费在线 | 啪啪资源 | 日本中文字幕视频 | 久久九九影视 | 91福利区一区二区三区 | 91久久偷偷做嫩草影院 | 美女又爽又黄 | 激情丁香久久 | 超碰99人人 | 99激情网 | 久久久久久久国产精品视频 | 天堂在线视频中文网 | 91香蕉视频720p | 国产精品成人一区二区 | 国内精品久久久久久久久久久久 | 久久久久高清毛片一级 | 精品a视频| 在线导航av | www.天堂av| 婷婷久久网 | 国产 日韩 在线 亚洲 字幕 中文 | 欧日韩在线视频 | 国产日产亚洲精华av | 欧美日韩性| 在线日韩av| 色婷婷综合成人av | 精品国产一区二区三区av性色 | 激情亚洲综合在线 | 一区二区中文字幕在线观看 | 日韩精品中文字幕在线 | 婷婷狠狠操| 亚洲精品中文字幕视频 | 国内精品久久久久久 | 久久兔费看a级 | 天天色中文 | 国产中文字幕在线观看 | 国产三级国产精品国产专区50 | 久久精品美女 | 在线色亚洲 | 亚洲精品国精品久久99热一 | 亚洲一级电影 | 麻豆91在线观看 | 一区二区三区日韩在线 | 日韩在线视频免费观看 | 九色精品免费永久在线 | 国产精品久久久久久久久久99 | 日韩一区二区三区在线看 | 日韩视频www | 一区二区三区在线影院 | 国产精品自拍在线 | 91av电影网 | 久久短视频 | 91tv国产成人福利 | 久久精品视频网址 | 激情小说网站亚洲综合网 | 成人av网页| 91丨九色丨首页 | 日韩在线观看不卡 | 欧美大片在线观看一区 | 在线国产能看的 | 亚洲欧美在线视频免费 | 婷婷综合国产 | 中国一区二区视频 | 亚洲精品日韩在线观看 | 丁香婷婷社区 | 开心色婷婷| 国产精品精品国产 | 国产精品字幕 | 国产一级一片免费播放放a 一区二区三区国产欧美 | 99精品免费 | 伊人亚洲综合 | 国产精品字幕 | 成人香蕉视频 | 久久国产电影院 | 亚洲天天在线 | 精品在线观看一区二区 | 激情开心色 | 久草在线视频网站 | 国产精品美女久久久久久久久 | 97视频在线播放 | www.久久com| 最近最新中文字幕 | 国产精品一区二区三区在线播放 | 欧美一级片在线播放 | 日韩在线视频播放 | 欧美人体xx | 四虎在线观看 | 久久精品国产精品 | 欧美在线资源 | 国产很黄很色的视频 | 狠狠狠色丁香婷婷综合久久五月 | 国产精品久久久久久久午夜片 | 亚洲高清网站 | 亚洲国产影院 | 天天射天天艹 | 亚洲精品美女在线 | 久久综合久久综合九色 | 精品9999 | 久久久99精品免费观看app | 国产99久久久国产精品 | 亚洲人成在线电影 | 国产精品免费久久久久久久久久中文 | 黄色午夜 | 在线免费观看视频a | 99国产在线视频 | 九九激情视频 | 四虎在线观看网址 | 免费高清在线观看成人 | www.久艹 | 成av人电影| 粉嫩高清一区二区三区 | 亚洲欧美经典 | 国产1区2 | 国产精品综合久久久 | 一区二区视频免费在线观看 | 精品一区电影 | 国产精品理论视频 | 国产日本高清 | 欧美日韩一区二区免费在线观看 | 亚州欧美视频 | 久久理论电影 | 九九免费在线看完整版 | 日韩大陆欧美高清视频区 | 久久久www成人免费毛片麻豆 | 日韩影视在线观看 | 欧洲精品久久久久毛片完整版 | 91日韩在线播放 | 久久精品免费观看 | 成人动漫一区二区三区 | 精品国产乱码久久久久久1区二区 | 成人小视频在线免费观看 | 97超碰在线久草超碰在线观看 | 国产成人一区二区在线观看 | 香蕉视频久久久 | 中文字幕在线视频一区 |