精华内容
下载资源
问答
  • 参数fd代表欲设置的文件描述词,参数cmd代表欲操作的指令用来操作文件描述符的一些特性。参数fd代表欲设置的文件描述词,参数cmd代表欲操作的指令用来操作文件描述符的一些特性。参数fd代表欲设置的文件描述词,参数...
  • linux下文件描述符的介绍  (2012-10-02 16:01:56) 转载▼ 标签:  描述符   调用   返回   进程   限制   it 分类: linux 当某个程序打开文件时,...

    linux下文件描述符的介绍

      (2012-10-02 16:01:56)
    标签: 

    描述符

     

    调用

     

    返回

     

    进程

     

    限制

     

    it

    分类: linux
    当某个程序打开文件时,操作系统返回相应的文件描述符,程序为了处理该文件必须引用此描述符。所谓的文件描述符是一个低级的正整数。最前面的三个文件描述符(0,1,2)分别与标准输入(stdin),标准输出(stdout)和标准错误(stderr)对应。因此,函数 scanf() 使用 stdin,而函数 printf() 使用 stdout。你可以用不同的文件描述符改写默认的设置并重定向进程的 I/O 到不同的文件。

    1、首先说什么是文件描述符,它有什么作用?
    文件描述符是一个简单的整数,用以标明每一个被进程所打开的文件和socket。第一个打开的文件是0,第二个是1,依此类推。Unix 操作系统通常给每个进程能打开的文件数量强加一个限制。更甚的是,unix 通常有一个系统级的限制。
    因为squid 的工作方式,文件描述符的限制可能会极大的影响性能。当squid 用完所有的文件描述符后,它不能接收用户新的连接。也就是说,用完文件描述符导致拒绝服务。直到一部分当前请求完成,相应的文件和socket 被关闭,squid 不能接收新请求。当squid发现文件描述符短缺时,它会发布警告。
    在运行./configure 之前,检查你的系统的文件描述符限制是否合适,能给你避免一些麻烦。大多数情况下,1024 个文件描述符足够了。非常忙的cache可能需要4096或更多。在配置文件描述符限制时,我推荐设置系统级限制的数量为每个进程限制的2 倍。
    2、怎么突破,具体方法?
    先查看LINUX默认的文件描述符:
    # ulimit -n
    1024
    我们用命令
    ulimit -HSn 65536
    来增大文件描述符,然后编译安装squid,
    把ulimit -HSn 65536放到/etc/rc.d/rc.local让启动时加载。
    以下为转载:
    Linux
    在Linux 上配置文件描述符有点复杂。在编译squid 之前,你必须编辑系统include 文件中的一个,然后执行一些shell 命令。请首先编辑/usr/include/bits/types.h 文件,改变__FD_SETSIZE 的值:
    #define _ _FD_SETSIZE 8192
    下一步,使用这个命令增加内核文件描述符的限制:
    # echo 8192 >; /proc/sys/fs/file-max
    最后,增加进程文件描述符的限制,在你即将编译squid 的同一个shell 里执行:
    sh# ulimit -Hn 8192
    该命令必须以root 运行,仅仅运行在bash shell。不必重启机器。
    使用这个技术,你必须在每一次系统启动后执行上述echo 和ulimit 命令,或者至少在squid 启动之前。假如你使用某个rc.d 脚本来启动squid,那是一个放置这些命令的好地方。
    补充: 
      
    文件描述符
    是个很小的正整数,它是一个索引值,指向内核为每一个进程所维护的该进程打开文件的记录表。 
      文件描述符的优点:兼容POSIX标准,许多
    Linux

    UNIX
    系统调用都依赖于它。
      文件描述符的缺点:不能移植到UNIX以外的系统上去,也不直观。
        基于文件描述符的输入输出函数:
      open:打开一个文件,并指定访问该文件的方式,调用成功后返回一个文件描述符。
      creat:打开一个文件,如果该文件不存在,则创建它,调用成功后返回一个文件描述符。
      close:关闭文件,进程对文件所加的锁全都被释放。
      read:从文件描述符对应的文件中读取数据,调用成功后返回读出的字节数。
      write:向文件描述符对应的文件中写入数据,调用成功后返回写入的字节数。
      ftruncate:把文件描述符对应的文件缩短到指定的长度,调用成功后返回0。
      lseek:在文件描述符对应的文件里把文件指针设定到指定的位置,调用成功后返回新指针的位置。
      fsync:将所有已写入文件中的数据真正写到磁盘或其他下层设备上,调用成功后返回0。
      fstat:返回文件描述符对应的文件的相关信息,把结果保存在struct stat中,调用成功后返回0。
      fchown:改变与打开文件相关联的所有者和所有组,调用成功后返回0。
      fchmod:把文件描述符对应的文件的权限位改为指定的八进制模式,调用成功后返回0。
      flock:用于向文件描述符对应的文件施加建议性锁,调用成功后返回0。
      fcntl:既能施加建议性锁也能施加强制性锁,能建立记录锁、读取锁和写入锁,调用成功后返回0。
      dup:复制文件描述符,返回没使用的文件描述符中最小的编号。
      dup2:由用户指定返回的文件描述符的值,用来重新打开或重定向一个文件描述符。
      select:同时从多个文件描述符读取数据或向多个文件描述符写入数据
    展开全文
  • (Syslog 日志服务器用来获取交换机日志CISCO和H3C交换机的设置)注:配置日志服务器前先检查是否已安装了SYSLOG服务执行 ps -e |grep syslogd 查看进程是否存在没有安装 # apt-get install syslogd 安装,或下载用...

    (Syslog 日志服务器用来获取交换机日志CISCO和H3C交换机的设置)

    注:配置日志服务器前先检查是否已安装了SYSLOG服务

    执行 ps -e |grep syslogd 查看进程是否存在

    没有安装   # apt-get install syslogd 安装,或下载用安装包

    H3C交换机的设置举例

    1. 组网需求

    将系统的日志信息发送到 linux 日志主机;

    日志主机的IP 地址为 1.2.0.1/16;

    信息级别高于等于 informational 的日志信息将会发送到日志主机上;

    日志信息的输出语言为英文,允许输出信息的模块为ARP 和 CMD。

    2. 组网图

     

    3. 配置步骤

    (1)      设备上的配置。

    # 开启信息中心。

    <Sysname> system-view

    [Sysname] info-center enable

    # 指定向日志主机输出日志信息的通道为 loghost 通道。

    [Sysname] info-center loghost 1.2.0.1 channel loghost

                      # 关闭所有模块日志主机的 log、trap、debug 的状态。

    [Sysname] info-center source default channel loghost debug state off log state off trap state off

    注意:

    由于系统对各通道允许输出的系统信息的缺省情况不一样,所以配置前必须将所有模块的需求通道(本例为loghost )上log、trap、debug 状态设为关闭,再根据当前的需求配置输出相应的系统信息。可以用display channel 命令查看通道的状态。

    # 将 IP 地址为 1.2.0.1/16 的主机作为日志主机,设置信息级别为informational,输出语言为英文,允许输出信息的模块为所有模块。

    [Sysname] info-center loghost 1.2.0.1 facility local7 language english

    [Sysname] info-center source default channel loghost log level informational

    2)      日志主机上的配置。

                      第一步:以超级用户(root)的身份执行以下命令。

                      # mkdir /var/log/H3C

                      # touch /var/log/H3C/information

                      第二步:以超级用户(root)的身份编辑文件/etc/syslog.conf,加入以下选择/动作

                      组合(selector/action pairs)。

    # H3C configuration messages

    local7.info               /var/log/H3C/information

    说明:

    在编辑/etc/syslog.conf 时应注意以下问题:
    注释只允许独立成行,并以字符#开头。
    选择/动作组合之间必须以一个制表符(<Tab>键)分隔,而不能输入空格
           (<Space>键)。
    在文件名之后不得有多余的空格。
    /etc/syslog.conf               中指定的设备名及接受的日志信息级别与设备上配置的
         info-center   loghost 和info-center   source 命令的相应参数要保持一致,否则
          日志信息可能无法正确输出到日志主机上。

    第三步:当日志文件 information 建立且/etc/syslog.conf 文件被修改了之后,应通过

    执行以下命令查看系统守护进程syslogd 的进程号,中止syslogd 进程,并重新用-r

    选项在后台启动syslogd。

    # ps -ae | grep syslogd

    147

    # kill -9 147

    # syslogd -r &

    说明:

    对Linux 日志主机,必须保证syslogd 进程是以-r 选项启动。

    进行以上操作之后,系统就可以在相应的文件中记录日志信息了。

     

    CISCO交换机的设置举例

    (1) 以下配置描述了如何将Cisco设备的日志发往syslog服务器

      cisco#conf t
      
      cisco(config)#logging on
      
      cisco(config)#logging a.b.c.d //日志服务器的IP地址
      
      cisco(config)#logging facility local1 //facility标识, RFC3164 规定的本地设备标识为 local0 - local7
      
      cisco(config)#logging trap errors //日志记录级别,可用"?"查看详细内容

    可选的级别有0-7共八个级别,0最高,7最低。这八个级别分别为:
    alerts Immediate action needed (severity=1)
    critical Critical conditions (severity=2)
    debugging Debugging messages (severity=7)
    emergencies System is unusable (severity=0)
    errors Error conditions (severity=3)
    informational Informational messages (severity=6)
    notifications Normal but significant conditions (severity=5)
    warnings Warning conditions (severity=4)
    (config)#logging on 启用日志服务。

    选取最低的debugging级别可以记录所有可以记录的信息,包括系统信息、错误信息、debug信息等等。但是仍然不能满足我们的全部需求。  
      cisco(config)#logging source-interface e0 //日志发出用的源IP地址
      
      
      cisco(config)#service timestam log datetime localtime
      日志记录的时间戳设置,可根据需要具体配置
      
      检验
      
      cisco#sh logging

    (2) 以下配置为日志服务器的配置

      创建日志文件

      #mkdir /var/log/switch
      #vim /var/log/switch/ciscoswitch.log

      在/etc/syslog.conf增加日志描述

      #vim /etc/syslog.conf
      local1.* /var/log/switch/ciscoswitch.log

      使用SYSLOGD -r 参数使日志服务器接收远程日志
      
      # vim /etc/default/syslogd

      SYSLOGD="" 修改为: SYSLOGD="-r"

      最后重启服务完成配置
      /etc/init.d/sysklogd restart

    展开全文
  • VSCode设置网页代码实时预览

    万次阅读 多人点赞 2018-10-14 21:39:32
    一、设置描述 二、操作步骤 一、设置描述 1.VSCode作为一款很不错的开发软件,相比DW更小巧,用来测试前端特别不错,那么我们平时开发网页发现只有写完代码,然后保存,接下来到浏览器中刷新查看效果,然后不停...

    目录

    一、设置描述

    二、操作步骤


    一、设置描述

        1.VSCode作为一款很不错的开发软件,相比DW更小巧,用来测试前端特别不错,那么我们平时开发网页发现只有写完代码,然后保存,接下来到浏览器中刷新查看效果,然后不停重复,我们发现很多时间就这样浪费到了这三个步骤上。

        2.其实我们可以在VSCode中配置一个网页服务器,修改完代码之后只需要保存代码浏览器就可以实时预览

    二、操作步骤

        1.打开VScode,点击坐标工具栏的最后一个进入插件安装

        2.如果没有显示左边的工具栏,也可以在View中找到Extensions进入插件安装

        3.在搜索框中输入Live Server,在搜索结果中找到如下,选择安装

        4.安装完成需要重启软件插件才能生效

        5.重启过之后,新建一个工作区(也可以直接拖一个文件夹到vscode中),在这里创建一个HTML文件做测试,注意单独新建一个HTML文件拖动到IDE中是使用不了Live Server的,需要把这个HTML文件放到创建的工作区(文件夹)中,新建完成后我们可以在状态栏上看到一个Go Live,单击会自动打开浏览器并显示

       提示:如果之前也有HTML项目,直接把项目根文件夹拖动到VScode中就会自动添加到工作区

        6.如果没有状态栏上,也可以在文件上单击右键,选择Open With Live Server这一项

        7.接下来修改代码我们只需要ctrl+S保存修改后的代码,浏览器自动刷新,动图显示

       8.遇到问题解决不了别忘了留言~~

    展开全文
  • Python基本语法之描述

    千次阅读 多人点赞 2018-11-23 06:42:09
    描述符的作用是用来代理一个类的属性,需要注意的是描述符不能定义在被使用类的构造函数中,只能定义为类的属性,它只属于类的,不属于实例,我们可以通过查看实例和类的字典来确认这一点。 描述符是实现大部分.....

     

     

    描述符定义

           描述符是一种类,我们把实现了__get__()、__set__()和__delete__()中的其中任意一种方法的类称之为描述符。

           描述符的作用是用来代理一个类的属性,需要注意的是描述符不能定义在被使用类的构造函数中,只能定义为类的属性,它只属于类的,不属于实例,我们可以通过查看实例和类的字典来确认这一点。

           描述符是实现大部分Python类特性中最底层的数据结构的实现手段,我们常使用的@classmethod、@staticmethd、@property、甚至是__slots__等属性都是通过描述符来实现的。它是很多高级库和框架的重要工具之一,是使用到装饰器或者元类的大型框架中的一个非常重要组件。注:装饰器和元类等概念我们在以后文章中说明。

          如下示例一个描述符及引用描述符类的代码:

    class Descriptors:
    
        def __init__(self, key, value_type):
            self.key = key
            self.value_type = value_type
    
        def __get__(self, instance, owner):
            print("执行Descriptors的get")
            return instance.__dict__[self.key]
    
        def __set__(self, instance, value):
            print("执行Descriptors的set")
            if not isinstance(value, self.value_type):
                raise TypeError("参数%s必须为%s"%(self.key, self.value_type))
            instance.__dict__[self.key] = value 
    
        def __delete__(self, instance):
            print("执行Descriptors的delete")
            instance.__dict__.pop(self.key) 
    
    class Person:
    
        name = Descriptors("name", str)
        age = Descriptors("age", int)
    
        def __init__(self, name, age):
            self.name = name
            self.age = age
    
    
    person = Person("xiaoming", 15)
    print(person.__dict__)
    person.name
    person.name = "jone"
    print(person.__dict__)

            其中,Descriptors类就是一个描述符,Person是使用描述符的类。

            类的__dict__属性是类的一个内置属性,类的静态函数、类函数、普通函数、全局变量以及一些内置的属性都是放在类__dict__里。

            在输出描述符的变量时,会调用描述符中的__get__方法,在设置描述符变量时,会调用描述符中的__set__方法。

            如上例子的运行结果如下:

     

    描述符的种类和优先级

           描述符分为数据描述符和非数据描述符。

           至少实现了内置__set__()和__get__()方法的描述符称为数据描述符;实现了除__set__()以外的方法的描述符称为非数据描述符。

          描述符的优先级的高低顺序:类属性 > 数据描述符 > 实例属性 > 非数据描述符 > 找不到的属性触发__getattr__()。

          在上述“描述符定义”章节的例子中,实例person的属性优先级低于数据描述符Descriptors,所以在赋值或获取值过程中,均调用了描述符的方法。

          如下例子描述了类属性高于数据描述符:

    class Descriptors:
        def __get__(self, instance, owner):
            print("执行Descriptors的get")
        def __set__(self, instance, value):
            print("执行Descriptors的set")
        def __delete__(self, instance):
            print("执行Descriptors的delete")
    
    class University:
        name = Descriptors()
        def __init__(self, name):
                self.name = name
    
    University.name
    University.name = "深圳大学"
    print(University.name)
    
    my_university = University("厦门大学")
    my_university.name
    print(my_university.name)

        在该例子中,University类的变量被赋值,由于该优先级最高,所以使用的一直为University类的变量,示例运行结果如下:

        如果在这个例子中,删除University.name = "深圳大学"这一行,则打印是怎么样的?

         为什么对象的name属性没有值了呢,因为对象的的优先级没有描述符高,所以使用描述符的值,而描述符没有赋值,所以为None,所以虽然对象的属性有值,仍然无法正常获取。

         描述符相关的优先顺序,理解难度稍微大一点,请各位看官仔细品味,大家可以自己写小例子尝试打印结果,可以让您更快的理解该原理。

     

     

    如果您喜欢这篇文章,别忘了点赞和评论哦!


                            十年一梦

                       一觉醒来思未变,

                      未知恍然已十年。

                      啜啜小儿成才俊,

                      市井矗楼连成片。

     

    展开全文
  • 全局描述符表GDT和局部描述符表LDT

    千次阅读 2018-09-24 14:14:33
    描述符  IA-32架构的处理器访问内存都是采用“段基址:段内偏移地址”的形式,即使到了保护模式也不例外。其次,实模式脆弱的安全性也是保护模式推出的重要原因。为了内存安全性,必须为内存段添加一些额外的安全...
  • ulimint -a 用来显示当前的各种用户进程限制 Linux对于每个用户,系统限制其最大进程数,为提高性能,可以根据设备资源情况, 设置个Linux用户的最大进程数,一些需要设置为无限制: 数据段长度:ulimit -d ...
  • USB2.0协议标准描述

    千次阅读 2017-02-09 14:38:13
    USB 设备第一次连接到主机时, 要接收主机枚举( Enumera tion) 和配置(Configuration) , 目的是让...这些信息是通过存储在设备中的USB 描述符来体现的。因此, 这种USB 描述符也可以看作是USB 设备的身份证明。描述
  • SATA Operation设置

    万次阅读 2019-03-14 11:40:25
    BIOS设置中SATA operation选项用来进行硬盘模式选择,主要有以下几个选项: 1.Disabled:SATA operation被隐藏 2.ATA:ATA技术是一个关于IDE(Integrated Device Electronics)的技术规范。IDE接口全球标准化协议...
  • TSS描述符表的作用

    千次阅读 2014-07-11 17:47:57
    任务状态描述符表TSS用来记录当前进程执行时所对应的寄存器的数据,这些数据主要在进程切换时发挥作用,比如,现在要由当前进程"进程A"切换到进程B,那么系统就要将此时各个寄存器的数值,保存在进程A的任务状态描述...
  • 关于文件描述符(file_struct)

    千次阅读 2017-01-15 23:12:18
    文件描述符(file_struct)是一个非负整数,对于Linux内核而言,为了高效管理已经被打开的文件所创建的索引,操作系统在每个进程描述符中都提供了文件描述符表,文件描述符表中每个表项都有一个指向已经打开文件的...
  • 逻辑地址(logical address):包含在机器语言指令中用来指定一个操作数或一条指令的地址。这个寻址方式在80x86著名的分段结构中表现得尤为具体,它促使MS-DOS或Windows程序员把程序分成若干段。每一个逻辑地址都由一...
  • USB描述符详细讲解

    千次阅读 2018-04-09 10:39:31
    在USB中USB HOST 是通过各种描述符来识别设备的,有 设备描述符,接口描述符,端点描述符,字符描述符,报告描述符等USB HID 设备是通过报告来传送数据的,报告有:输入报告 和 输出报告输入报告:是设备发送给主机...
  • UNIX再学习 -- 文件描述

    千次阅读 2017-03-23 10:07:17
    设置当前用户环境下的最大打开文件描述符数为 65536 # ulimit -HSn 65536 查看: # ulimit -n 65536 将指令添加到脚本中 (永久更改) 添加到 单用户目录下 :/etc/bash.bashrc 或 ~/.bashrc echo "ulimit -HSn...
  • 用java代码设置控件文本颜色 texeview.settextcolor(colorstatelist color) 请问传参传的对象怎么构建 用来描述颜色属性
  • 设备描述符配置包 和 返回设备描述符 USB协议深入分析 设备描述符配置包设备描述符配置包在USB通讯里,从主控器发出来的第一个配置包就是设备描述符配置包,目的只有一个,就是获取插入的USB属性,以便加载合适的...
  • USB设备中有一大类就是HID设备,即Human Interface Devices,人机接口设备。这类设备包括鼠标、键盘等,主要用于人与计算机...在USB协议中,HID设备的定义放置在接口描述符中,USB的设备描述符和配置描述符中不包含H...
  • 设置imwheel开机启动

    千次阅读 2018-11-13 19:14:24
    imwheel是一组命令工具可以用来调节鼠标滚轮的行为,修改滚轮速度。 2. 安装imwheel sudo apt install imwheel 查看安装位置 whereis imwheel 3. 配置 sudo vim ~/.imwheelrc ".*" None,...
  • Hid Report Descriptor 报告描述

    千次阅读 2015-08-20 17:44:38
    在USB中,USB HOST是通过各种描述符来识别设备的,有设备描述符,配置描述符,接口描述符,端点描述符,字符串描述符,报告描述符等等。USB报告描述符(Report Descriptor)是HID设备中的一个描述符,它是比较复杂的一...
  • android Configuration系统设置

    万次阅读 2014-04-10 17:16:19
    Configuration类是专门用来描述手机设备上的配置信息。这些配置信息包括用户tes
  • wValue是根据不同的请求而设置不同的值。一般就是传送参数给设备标明这是什么请求。在上面GET_DESCRIPTOR获取设备描述符里,它的值是00 01。在GET_DESCRIPTOR里这个字段的低字节表示描述符的索引,高字节表示描述符...
  • SPSS中的数据分析—描述性统计分析【1】

    万次阅读 多人点赞 2020-06-17 10:52:57
    从今天开始,小白将深入给大家带来关于数据分析工具SPSS的使用和讲解,在这段时间里我会带着大家来一起学习了解如何使用SPSS进行描述性统计分析、假设检验、相关分析、回归分析、聚类分析、主成份分析、因子分析等。...
  • USB键盘鼠标报告描述符解释

    千次阅读 2017-03-14 20:53:53
    这是见到的描述鼠标和键盘描述符最清楚、... 在USB中,USB HOST是通过各种描述符来识别设备的,有设备描述符,配置描述符,接口描述符,端点描述符,字符串描述符,报告描述符等等。USB报告描述符(Report Descriptor)
  • 文件描述符(fd)对于linux而言,所有对设备(对于linux而言,一切皆文件)和文件的操作都使用文件描述符来进行的。 文件描述符是一个非负的整数,它是一个索引值,指向内核中每个进程打开文件的记录表。 当打开一个...
  • 用例图及用例描述

    万次阅读 多人点赞 2016-10-28 11:55:56
    UML 用例图 用例描述
  • Linux下 文件描述符(fd)与 文件指针(FILE*)

    万次阅读 多人点赞 2017-05-07 21:33:34
    当然设备也不例外,如果要对某个设备进行操作,就不得不打开此设备文件,打开文件就会获得该文件的文件描述符fd( file discriptor), 它就是一个很小的整数,每个进程在PCB(Process Control Block)中保存着一份文件...
  • 逻辑地址(logical address):包含在机器语言指令中用来指定一个操作数或一条指令的地址。这个寻址方式在80x86著名的分段结构中表现得尤为具体,它促使MS-DOS或Windows程序员把程序分成若干段。每一个逻辑地址都由一...
  • 定义一个抽象类Shape,包含纯虚函数Area()(用来计算面积)和SetShape()(用来重设形状大小)。然后派生出三角形类Triangle类、矩形Rect类、圆Circle类,分别求其面积。最后定义一个Total_Area类,计算这几个形状的面积...
  • iOS证书和描述文件申请

    万次阅读 2017-04-10 19:42:44
    ,这是每一个应用的独立标识,在设置项中可以配置该应用的权限,比如是否用到了Apple Pay,HomeKit,以及更常见的push服务,如果选中了push服务,那么就可以创建生成推送证书,所以,在推送相关的配置中,首先要做的...
  • uboot是用来干什么的,有什么作用?

    万次阅读 多人点赞 2017-05-18 09:44:14
    所以,由上面描述的,就知道,UBOOT需要具有读写flash的能力。 uboot是怎样引导启动内核的? uboot刚开始被放到flash中,板子上电后,会自动把其中的一部分代码拷到内存中执行,这部分代码

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 786,491
精华内容 314,596
关键字:

怎么设置用来描述