亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
12下一頁
最近訪問板塊 發(fā)新帖
查看: 3908 | 回復: 19
打印 上一主題 下一主題

[系統(tǒng)管理] 守護進程可以彈窗么? [復制鏈接]

論壇徽章:
11
程序設計版塊每日發(fā)帖之星
日期:2015-09-09 06:20:00CU十四周年紀念徽章
日期:2016-05-16 11:11:112016科比退役紀念章
日期:2016-05-04 17:16:57程序設計版塊每日發(fā)帖之星
日期:2016-02-20 06:20:00程序設計版塊每周發(fā)帖之星
日期:2015-11-06 19:30:58程序設計版塊每日發(fā)帖之星
日期:2015-09-12 06:20:00程序設計版塊每日發(fā)帖之星
日期:2015-09-11 06:20:00每日論壇發(fā)貼之星
日期:2015-09-10 06:20:00程序設計版塊每日發(fā)帖之星
日期:2015-09-10 06:20:00每日論壇發(fā)貼之星
日期:2015-09-09 06:20:0015-16賽季CBA聯(lián)賽之四川
日期:2016-12-15 15:52:10
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2016-02-17 17:22 |只看該作者 |倒序瀏覽
弄了個開機子啟動的守護進程,開機后用socket監(jiān)聽,當收到消息,用gtk彈窗,
開機手動跑daemon可以,開機子啟動gtk初始化報錯,誰能給我解釋下原理,感激不盡!

論壇徽章:
11
程序設計版塊每日發(fā)帖之星
日期:2015-09-09 06:20:00CU十四周年紀念徽章
日期:2016-05-16 11:11:112016科比退役紀念章
日期:2016-05-04 17:16:57程序設計版塊每日發(fā)帖之星
日期:2016-02-20 06:20:00程序設計版塊每周發(fā)帖之星
日期:2015-11-06 19:30:58程序設計版塊每日發(fā)帖之星
日期:2015-09-12 06:20:00程序設計版塊每日發(fā)帖之星
日期:2015-09-11 06:20:00每日論壇發(fā)貼之星
日期:2015-09-10 06:20:00程序設計版塊每日發(fā)帖之星
日期:2015-09-10 06:20:00每日論壇發(fā)貼之星
日期:2015-09-09 06:20:0015-16賽季CBA聯(lián)賽之四川
日期:2016-12-15 15:52:10
2 [報告]
發(fā)表于 2016-02-17 17:23 |只看該作者
本帖最后由 我愛你我的菜 于 2016-02-17 17:24 編輯

弄了個開機自啟動的守護進程,開機后用socket監(jiān)聽,當收到消息,開線程用gtk彈窗,
開機手動跑daemon可以,開機自啟動,gtk初始化報錯,誰能給我解釋下原理,感激不盡!
(用python寫的)import gtk can not open display

論壇徽章:
11
程序設計版塊每日發(fā)帖之星
日期:2015-09-09 06:20:00CU十四周年紀念徽章
日期:2016-05-16 11:11:112016科比退役紀念章
日期:2016-05-04 17:16:57程序設計版塊每日發(fā)帖之星
日期:2016-02-20 06:20:00程序設計版塊每周發(fā)帖之星
日期:2015-11-06 19:30:58程序設計版塊每日發(fā)帖之星
日期:2015-09-12 06:20:00程序設計版塊每日發(fā)帖之星
日期:2015-09-11 06:20:00每日論壇發(fā)貼之星
日期:2015-09-10 06:20:00程序設計版塊每日發(fā)帖之星
日期:2015-09-10 06:20:00每日論壇發(fā)貼之星
日期:2015-09-09 06:20:0015-16賽季CBA聯(lián)賽之四川
日期:2016-12-15 15:52:10
3 [報告]
發(fā)表于 2016-02-17 17:27 |只看該作者
#!/usr/bin/env python
#-*- coding:utf-8 -*-

import os, time, atexit, string
from signal import SIGTERM
import ppdclient
import sys
reload(sys)
sys.setdefaultencoding('utf8')

PORT=12321

class Daemon:
    def __init__(self, pidfile, stdin='/var/log/fdos-printer.log', stdout='/var/log/fdos-printer.log', stderr='/var/log/fdos-printer.log'):
        #需要獲取調(diào)試信息,改為stdin='/dev/stdin', stdout='/dev/stdout', stderr='/dev/stderr',以root身份運行。
        self.stdin = stdin
        self.stdout = stdout
        self.stderr = stderr
        self.pidfile = pidfile
  
    def _daemonize(self):
        try:
            pid = os.fork()
            if pid > 0:
                #退出主進程
                sys.exit(0)
        except OSError, e:
            sys.stderr.write('fork #1 failed: %d (%s)\n' % (e.errno, e.strerror))
            sys.exit(1)
  
#        os.chdir("/")
#        os.setsid()
#        os.umask(0)
  
        #創(chuàng)建子進程
        try:
            pid = os.fork()
            if pid > 0:
                sys.exit(0)
        except OSError, e:
            sys.stderr.write('fork #2 failed: %d (%s)\n' % (e.errno, e.strerror))
            sys.exit(1)
  
        #重定向文件描述符
        sys.stdout.flush()
        sys.stderr.flush()
        si = file(self.stdin, 'a+')
        so = file(self.stdout, 'a+')
        se = file(self.stderr, 'a+', 0)
        os.dup2(si.fileno(), sys.stdin.fileno())
        os.dup2(so.fileno(), sys.stdout.fileno())
        os.dup2(se.fileno(), sys.stderr.fileno())
  
        #創(chuàng)建processid文件
        atexit.register(self.delpid)
        pid = str(os.getpid())
        file(self.pidfile,'w+').write('%s\n' % pid)
  
    def delpid(self):
        os.remove(self.pidfile)

    def start(self):
        #檢查pid文件是否存在以探測是否存在進程
        try:
            pf = file(self.pidfile,'r')
            pid = int(pf.read().strip())
            pf.close()
        except IOError:
            pid = None
  
        if pid:
            message = 'pidfile %s already exist. Daemon already running?\n'
            sys.stderr.write(message % self.pidfile)
            sys.exit(1)
   
        #啟動監(jiān)控
        self._daemonize()
        self._run()

    def stop(self):
        #從pid文件中獲取pid
        try:
            pf = file(self.pidfile,'r')
            pid = int(pf.read().strip())
            pf.close()
        except IOError:
            pid = None
  
        if not pid:
            message = 'pidfile %s does not exist. Daemon not running?\n'
            sys.stderr.write(message % self.pidfile)
            return #重啟不報錯

        #殺進程
        try:
            while 1:
                os.kill(pid, SIGTERM)
                time.sleep(0.1)
                if os.path.exists(self.pidfile):
                    os.remove(self.pidfile)
        except OSError, err:
            if os.path.exists(self.pidfile):
                os.remove(self.pidfile)

    def restart(self):
        self.stop()
        self.start()

    def get_server_ip(self):
        try:
            with open("/etc/cups/printer_server_ip_conf") as f:
                return f.read()
        except Exception:
            return None
           
    def _run(self):
        #time.sleep(50)     
        commu=ppdclient.Communication(PORT,self.get_server_ip())
        commu.waitUnix()      

if __name__ == '__main__':
    daemon = Daemon('/tmp/fdos_process.pid')
    if len(sys.argv) == 2:
        if 'start' == sys.argv[1]:
            daemon.start()
        elif 'stop' == sys.argv[1]:
            daemon.stop()
        elif 'restart' == sys.argv[1]:
            daemon.restart()
        else:
            print 'Unknown command'
            sys.exit(2)
        sys.exit(0)
    else:
        print 'usage: %s start|stop|restart' % sys.argv[0]
        sys.exit(2)

論壇徽章:
11
程序設計版塊每日發(fā)帖之星
日期:2015-09-09 06:20:00CU十四周年紀念徽章
日期:2016-05-16 11:11:112016科比退役紀念章
日期:2016-05-04 17:16:57程序設計版塊每日發(fā)帖之星
日期:2016-02-20 06:20:00程序設計版塊每周發(fā)帖之星
日期:2015-11-06 19:30:58程序設計版塊每日發(fā)帖之星
日期:2015-09-12 06:20:00程序設計版塊每日發(fā)帖之星
日期:2015-09-11 06:20:00每日論壇發(fā)貼之星
日期:2015-09-10 06:20:00程序設計版塊每日發(fā)帖之星
日期:2015-09-10 06:20:00每日論壇發(fā)貼之星
日期:2015-09-09 06:20:0015-16賽季CBA聯(lián)賽之四川
日期:2016-12-15 15:52:10
4 [報告]
發(fā)表于 2016-02-17 17:28 |只看該作者
#!/usr/bin/env python
# -*- coding:utf-8 -*-

import ppdcreate
import time
from socket import *
import os        
import sys  
import threading   
import re
import gobject               


PORT=12321
ip_begin=1
ip_end=254
ip_list=[]
mutex = threading.Lock()

gobject.threads_init()

class MyWindow(threading.Thread):         
    def __init__(self, title, width, height):   
        threading.Thread.__init__(self)
        self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)      
        self.window.set_title(title)     
        self.window.set_size_request(width, height)
        self.window.set_position(gtk.WIN_POS_CENTER)
        self.window.set_border_width(
        self.window.connect('destroy', self.destroy_mainloop)
        self.window.set_resizable(False)
        self.table = gtk.Table(3, 3, False)
        self.table.set_col_spacings(3)

        self.entry=gtk.Entry()
        self.table.attach(self.entry, 1, 2, 0, 1, gtk.FILL , gtk.FILL , 0, 0);

        self.store = self.create_model()
             self.treeView = gtk.TreeView(self.store)
        #self.create_columns()
        #self.table.attach(self.treeView, 1, 2, 0, 1, gtk.FILL | gtk.EXPAND,gtk.FILL | gtk.EXPAND, 0, 0);

        self.cb = gtk.combo_box_new_text()
        self.cb.connect("changed", self.on_changed)
        self.cb.set_size_request(100, 30)
        self.cb.append_text('手動輸入')
        self.cb.append_text('自動搜索')
        self.cb.set_active(0)
        halign_cb = gtk.Alignment(0, 0, 0, 0)
        halign_cb.add(self.cb)       
        self.table.attach(halign_cb, 0, 1, 0, 1, gtk.FILL,gtk.FILL, 0, 0);

        self.ok = gtk.Button("OK"
        self.ok.set_size_request(70, 30)
        halign_ok = gtk.Alignment(1, 0, 0, 0)
        halign_ok.add(self.ok)       
        self.table.attach(halign_ok, 1, 2, 1, 2, gtk.FILL,gtk.FILL, 0, 0);
        self.ok.connect("clicked", self.on_ok_clicked)

        self.window.statusbar = gtk.Statusbar()
        self.table.attach(self.window.statusbar, 0, 3, 2, 3, gtk.FILL| gtk.EXPAND,gtk.FILL| gtk.EXPAND, 0, 0);
        self.window.statusbar.push(1,"準備"
        self.window.add(self.table)
        self.window.show_all()      

    def create_columns(self):
        rendererText = gtk.CellRendererText()
        column = gtk.TreeViewColumn("Ip", rendererText, text=0)
        column.set_sort_column_id(0)
        self.treeView.append_column(column)

    def destroy_mainloop(self,widget):
        global ip_begin
        ip_begin=0
        gtk.main_quit()

    def create_model(self):
        store = gtk.ListStore(str)
        return store
  
    def on_ok_clicked(self,widget):
        global ip_list
        if self.cb.get_active_text() == "手動輸入":
            if not re.findall(r"(?<![0-9.])((2[0-4][0-9]|25[0-5]|[01]?[0-9]{1,2})\.){3}(2[0-4][0-9]|25[0-5]|[01]?[0-9]{1,2})(?![0-9.])", self.entry.get_text()):
                self.window.statusbar.push(1,"IP輸入有誤!"
                return
            self.cb.set_sensitive(False)
            widget.set_sensitive(False)
            ip_list=[]
            ip_list.append(self.entry.get_text())          
        elif self.cb.get_active_text() == "自動搜索":
            self.cb.set_sensitive(False)
            widget.set_sensitive(False)   
            self.window.statusbar.push(1,"服務端IP檢測中....."   
            threads = []      
            for x in xrange(0 , 20):  
                t_scan = Scan(PORT , 1)   
                threads.append(t_scan)  
            for t in threads:  
                t.start()
    def on_changed(self, widget):
        if widget.get_active_text() == "手動輸入":
            self.treeView.hide()   
            self.entry.show()
        else:
            self.entry.hide()       
            self.table.attach(self.treeView, 1, 2, 0, 1, gtk.FILL | gtk.EXPAND,gtk.FILL | gtk.EXPAND, 0, 0);
            self.treeView.show()

    def run(self):         
        gtk.main()         

class Scan(threading.Thread):  
    def __init__(self , port , timeout):  
        threading.Thread.__init__(self)  
        self.port = port  
        self.timeout = timeout  
        self.local_ip=self.__get_ip_address()
    def run(self):
        global mutex ,ip_begin,ip_end   
        while 1:  
            mutex.acquire()  
            ip_begin += 1  
            if ip_begin >  ip_end:  
                    mutex.release()  
                    break  
            mutex.release()
            ip=re.sub("\d+$",str(ip_begin),self.local_ip)
            self.ping(ip , self.port , self.timeout)

    def __get_ip_address(self,ifname='eth0'):  
        try:  
            s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)   
            return socket.inet_ntoa(fcntl.ioctl(  
                s.fileno(),   
                0x8915, # SIOCGIFADDR   
                struct.pack('256s', ifname[:15])   
            )[20:24])   
        except:  
            ips = os.popen("LANG=C ifconfig | grep \"inet addr\" | grep -v \"127.0.0.1\" | awk -F \":\" '{print $2}' | awk '{print $1}'".readlines()  
            if len(ips) > 0:  
                return ips[0]  
        return ''

    def ping(self,ip ,port ,timeout=1):  
        try:  
            global ip_list
            cs=socket(AF_INET,SOCK_STREAM)  
            cs.settimeout(float(timeout))  
            address=(str(ip),int(port))  
            status = cs.connect_ex((address))  
            if status == 0 :  
                ip_list.append(ip)
        except Exception ,e:   
            print "IPScan:%s" %e   
        cs.close()
        return 0  
               
class Communication:
    def __init__(self, port,ip):
        self.__bufSize=8192
        self.remote_ip=ip
        self.port=port
        self.__unixServSock = socket(AF_UNIX, SOCK_STREAM)
        if os.path.exists("/tmp/fdosprinter.domain":
            os.unlink("/tmp/fdosprinter.domain"
        self.__unixServSock.bind("/tmp/fdosprinter.domain"
        self.__unixServSock.listen(10)
        self.PPDFile=ppdcreate.CreatePPDFile("/etc/cups/ppd/"

    def queryPrinter(self):
        try:
            self.__tcpCliSock=socket(AF_INET, SOCK_STREAM)
            self.__tcpCliSock.connect((self.remote_ip,self.port))
        except Exception as e:
            global ip_list,ip_begin,ip_end
            threads = []      
            for x in xrange(0 , 20):  
                t_scan = Scan(PORT , 1)   
                threads.append(t_scan)  
            for t in threads:  
                t.start()
            while 1:
                if ip_begin < ip_end and ip_list:
                    self.remote_ip=ip_list[0]
                    with open("/etc/cups/printer_server_ip_conf","w+" as f:
                        f.write(ip_list[0])
                    print "IP 檢測完成"       
                    try:
                        self.__tcpCliSock=socket(AF_INET, SOCK_STREAM)
                        self.__tcpCliSock.connect((self.remote_ip,self.port))
                        break
                    except Exception as e:
                        print "IP 檢測不到。。。。。"
                        return
                elif ip_begin > ip_end and  not ip_list:
                   print "IP 檢測不到。。。。!"
                   return
                else:
                    pass

        try:
            data="0"
            self.__tcpCliSock.send(data)
            data=self.__tcpCliSock.recv(self.__bufSize)
            if not data:
                return "windows端請求不到數(shù)據(jù),不存在打印機?"
            print data
            self.PPDFile.factory(data)
        except Exception as e:
            #print "queryPrinter:",e
            return ""

    def update_label(self, message,statusbar):
        statusbar.push(1, message)
        return False

    def waitUnix(self):
        global ip_begin,ip_end,ip_list
        #data=self.queryPrinter()
        while 1:
            #if not self.__unixServSock:
            self.__unixServSock = socket(AF_UNIX, SOCK_STREAM)
            if os.path.exists("/tmp/fdosprinter.domain"):
                os.unlink("/tmp/fdosprinter.domain")
            self.__unixServSock.bind("/tmp/fdosprinter.domain")
            self.__unixServSock.listen(10)
            connection, address = self.__unixServSock.accept()
            message=connection.recv(1024)
            if re.findall("SERVER IP LOST",message):
                import gtk
                window = MyWindow('方德遠程打印機', 280, 100)     # 創(chuàng)建窗口對象
                window.start()
                while 1:
                    if ip_begin == 0:
                        break
                    if ip_begin < ip_end and ip_list:
                        gobject.idle_add(self.update_label, "獲取到IP", window.window.statusbar)
                        if os.path.exists("/etc/cups/printer_server_ip_conf"):
                            os.unlink("/etc/cups/printer_server_ip_conf")
                        with open("/etc/cups/printer_server_ip_conf","w+") as f:
                            f.write(ip_list[0])
                        self.remote_ip=ip_list[0]
                        window.store=ip_list[0]
                        gobject.idle_add(self.update_label, "安裝虛擬打印機.....", window.window.statusbar)
                        #self.queryPrinter()
                        gobject.idle_add(self.update_label, "安裝完成,打印機配置可能已經(jīng)改變,請重新打印", window.window.statusbar)
                        #self.PPDFile.deleteCupsConf("FDOS_Virtual_Printer")
                        break
                    elif ip_begin > ip_end and  not ip_list:
                        gobject.idle_add(self.update_label, "未找到局域網(wǎng)內(nèi)的windows打印機,請檢查IP", window.window.statusbar)
                        break
                    else:
                        pass
            ip_begin=1
            ip_list=[]
            connection.close()
            self.__unixServSock.close()
    def close(self):
        self.__tcpCliSock.close()
        self.__unixServSock.close()

if __name__ == '__main__':
        window = MyWindow('印機', 280, 100)     # 創(chuàng)建窗口對象
        window.start()

論壇徽章:
11
程序設計版塊每日發(fā)帖之星
日期:2015-09-09 06:20:00CU十四周年紀念徽章
日期:2016-05-16 11:11:112016科比退役紀念章
日期:2016-05-04 17:16:57程序設計版塊每日發(fā)帖之星
日期:2016-02-20 06:20:00程序設計版塊每周發(fā)帖之星
日期:2015-11-06 19:30:58程序設計版塊每日發(fā)帖之星
日期:2015-09-12 06:20:00程序設計版塊每日發(fā)帖之星
日期:2015-09-11 06:20:00每日論壇發(fā)貼之星
日期:2015-09-10 06:20:00程序設計版塊每日發(fā)帖之星
日期:2015-09-10 06:20:00每日論壇發(fā)貼之星
日期:2015-09-09 06:20:0015-16賽季CBA聯(lián)賽之四川
日期:2016-12-15 15:52:10
5 [報告]
發(fā)表于 2016-02-17 17:30 |只看該作者
主要是   if re.findall("SERVER IP LOST",message):
                import gtk
                window = MyWindow('方德遠程打印機', 280, 100)     # 創(chuàng)建窗口對象
                window.start()

這里gtk報錯了,估計是低級錯誤,守護進程是不是不可以使用X server?

論壇徽章:
11
程序設計版塊每日發(fā)帖之星
日期:2015-09-09 06:20:00CU十四周年紀念徽章
日期:2016-05-16 11:11:112016科比退役紀念章
日期:2016-05-04 17:16:57程序設計版塊每日發(fā)帖之星
日期:2016-02-20 06:20:00程序設計版塊每周發(fā)帖之星
日期:2015-11-06 19:30:58程序設計版塊每日發(fā)帖之星
日期:2015-09-12 06:20:00程序設計版塊每日發(fā)帖之星
日期:2015-09-11 06:20:00每日論壇發(fā)貼之星
日期:2015-09-10 06:20:00程序設計版塊每日發(fā)帖之星
日期:2015-09-10 06:20:00每日論壇發(fā)貼之星
日期:2015-09-09 06:20:0015-16賽季CBA聯(lián)賽之四川
日期:2016-12-15 15:52:10
6 [報告]
發(fā)表于 2016-02-17 17:48 |只看該作者
。。。。。。。。。。。。。〈笊駛!

論壇徽章:
95
程序設計版塊每日發(fā)帖之星
日期:2015-09-05 06:20:00程序設計版塊每日發(fā)帖之星
日期:2015-09-17 06:20:00程序設計版塊每日發(fā)帖之星
日期:2015-09-18 06:20:002015亞冠之阿爾艾因
日期:2015-09-18 10:35:08月度論壇發(fā)貼之星
日期:2015-09-30 22:25:002015亞冠之阿爾沙巴布
日期:2015-10-03 08:57:39程序設計版塊每日發(fā)帖之星
日期:2015-10-05 06:20:00每日論壇發(fā)貼之星
日期:2015-10-05 06:20:002015年亞冠紀念徽章
日期:2015-10-06 10:06:482015亞冠之塔什干棉農(nóng)
日期:2015-10-19 19:43:35程序設計版塊每日發(fā)帖之星
日期:2015-10-21 06:20:00每日論壇發(fā)貼之星
日期:2015-09-14 06:20:00
7 [報告]
發(fā)表于 2016-02-17 18:03 |只看該作者
我愛你我的菜 發(fā)表于 2016-02-17 17:30
守護進程是不是不可以使用X server?


Normally, Yes.

論壇徽章:
0
8 [報告]
發(fā)表于 2016-02-17 18:17 |只看該作者
把 xhost + 這個命令想辦法開機執(zhí)行試一試

論壇徽章:
11
程序設計版塊每日發(fā)帖之星
日期:2015-09-09 06:20:00CU十四周年紀念徽章
日期:2016-05-16 11:11:112016科比退役紀念章
日期:2016-05-04 17:16:57程序設計版塊每日發(fā)帖之星
日期:2016-02-20 06:20:00程序設計版塊每周發(fā)帖之星
日期:2015-11-06 19:30:58程序設計版塊每日發(fā)帖之星
日期:2015-09-12 06:20:00程序設計版塊每日發(fā)帖之星
日期:2015-09-11 06:20:00每日論壇發(fā)貼之星
日期:2015-09-10 06:20:00程序設計版塊每日發(fā)帖之星
日期:2015-09-10 06:20:00每日論壇發(fā)貼之星
日期:2015-09-09 06:20:0015-16賽季CBA聯(lián)賽之四川
日期:2016-12-15 15:52:10
9 [報告]
發(fā)表于 2016-02-18 12:30 |只看該作者
回復 7# MMMIX

能解釋下么?


   

論壇徽章:
95
程序設計版塊每日發(fā)帖之星
日期:2015-09-05 06:20:00程序設計版塊每日發(fā)帖之星
日期:2015-09-17 06:20:00程序設計版塊每日發(fā)帖之星
日期:2015-09-18 06:20:002015亞冠之阿爾艾因
日期:2015-09-18 10:35:08月度論壇發(fā)貼之星
日期:2015-09-30 22:25:002015亞冠之阿爾沙巴布
日期:2015-10-03 08:57:39程序設計版塊每日發(fā)帖之星
日期:2015-10-05 06:20:00每日論壇發(fā)貼之星
日期:2015-10-05 06:20:002015年亞冠紀念徽章
日期:2015-10-06 10:06:482015亞冠之塔什干棉農(nóng)
日期:2015-10-19 19:43:35程序設計版塊每日發(fā)帖之星
日期:2015-10-21 06:20:00每日論壇發(fā)貼之星
日期:2015-09-14 06:20:00
10 [報告]
發(fā)表于 2016-02-18 16:37 |只看該作者
回復 9# 我愛你我的菜


    守護進程一般是在 X 啟動之前就啟動完了(甚至在一些服務器上根本就不啟動X)。另外,守護進程通常也不和用戶進行交互,例如彈窗口。

你還是說下你彈窗口是要干啥吧,感覺又是個 X-Y 問題。
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復

  

北京盛拓優(yōu)訊信息技術有限公司. 版權所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP