深入理解linux中close与shutdown的区别_unix linux

1. close  把描述符的引用计数减一,仅在该计数变为0时才关闭套接字。而shutdown可以并以不管引用计数就激发TCP的正常连接终止序列

2. close终止读和写两个方向的数据传送,而shutdown可以指定哪个方向被关闭,读端还是写端还是两个都关闭

int shutdown(int sockfd, int howto);
howto参数的值
SHUT_RD  只关闭读这一半
SHUT_WD  只关闭写这一半
SHUT_RDWR 连接的读半部和写半部都关闭

时间: 2024-09-19 12:18:39

深入理解linux中close与shutdown的区别_unix linux的相关文章

Linux中防御垃圾邮件的方法_unix linux

一.环境说明 单位的服务器使用RedHat Linux 9.0,邮件服务器使用Sendmail 8.12.8;这台服务器放在内网,通过一台Win2000的服务器作网关,连到Internet;网关软件使用的是WinRoute Pro 4.2.5. 二.主要修改措施 1.关闭Sendmail的Relay功能 所谓Relay就是指别人能用这台SMTP邮件服务器,给任何人发信,这样别有用心的垃圾发送者可以使用笔者单位的这台邮件服务器大量发送垃圾邮件,而最后别人投诉的不是垃圾发送者,而是单位的服务器.所以

Linux中轻松使用USB移动存储器_unix linux

USB移动存储器越来越普及,但是各个不同Linux发行版本中它的使用方法都不一样,有些需要相应的工具软件.不过大家经常使用的RedHat Linux9对USB移动存储器支持较好,在它上面使用USB移动存储器你要做的只是如下几步: 1.插上你的USB移动存储器. 2.进入终端命令行模式,用以下命令为外挂点新建一个子目录: mkdir /mnt/usb 3.挂上你的USB移动存储: USB移动存储通常被识别为sda1,具体可通过fdisk -l命令查询.需要注意的是你的USB移动存储器文件系统,若是

linux .bash_profile和.bashrc的什么区别_unix linux

/etc/profile:此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行. 并从/etc/profile.d目录的配置文件中搜集shell的设置. /etc/bashrc:为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取. ~/.bash_profile:每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该 文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件. ~/.bashrc

Linux中线程和进程的区别

Linux中线程和进程的区别 进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,它是系统进行资源分配和调度的一个独立单位.例如,用户运行自己的程序,系统就创建一个进程,并为它分配资源,包括各种表格.内存空间.磁盘空间.I/O设备等,然后该进程被放入到进程的就绪队列,进程调度程序选中它,为它分配CPU及其他相关资源,该进程就被运行起来. 线程是进程的一个实体,是CPU调度和分配的基本单位,线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器.一组寄存器和栈),但

深入理解java中i++和++i的区别_java

今天简单谈谈关于java的一个误区,相信很多刚开始学习java的朋友都会遇到这个问题,虽然问题很简单,但是经常容易搞混,说说java的i++和++i的区别. 先看一下代码: <span style="font-size:18px;">public class test { public static void main(String[] args) { int i = 0; for (int j = 0; j < 10; j++) { i=i++; } System.

谈谈linux中flock、lockf和fcntl的区别_unix linux

首先flock和fcntl是系统调用,而lockf是库函数.lockf实际上是fcntl的封装,所以lockf和fcntl的底层实现是一样的,对文件加锁的效果也是一样的.后面分析不同点时大多数情况是将fcntl和lockf放在一起的.下面首先看每个函数的使用,从使用的方式和效果来看各个函数的区别.  1. flock 函数原型 int flock(int fd, int operation);  // Apply or remove an advisory lock on the open fi

实例理解SQL中truncate和delete的区别_MsSql

本文以一个简单实例为大家介绍了SQL中truncate和delete的区别,帮助大家理解,具体内容如下 ---创建表Table1 IF OBJECT_ID('Table1','U') IS NOT NULL DROP TABLE Table1 GO CREATE TABLE Table1 (ID INT NOT NULL, FOID INT NOT NULL) GO --插入测试数据 INSERT INTO Table1 VALUES(1,101),(2,102),(3,103),(4,104)

实例理解SQL中truncate和delete的区别

本文以一个简单实例为大家介绍了SQL中truncate和delete的区别,帮助大家理解,具体内容如下 ---创建表Table1 IF OBJECT_ID('Table1','U') IS NOT NULL DROP TABLE Table1 GO CREATE TABLE Table1 (ID INT NOT NULL, FOID INT NOT NULL) GO --插入测试数据 INSERT INTO Table1 VALUES(1,101),(2,102),(3,103),(4,104)

Linux操作系统口令文件安全问题详细解析_unix linux

几乎所有的类Unix操作系统的口令文件的格式都雷同,Linux亦不例外.口令安全是Linux操作系统的传统安全问题之一. 传统口令与影子口令 /etc/passwd是存放用户的基本信息的口令文件.该口令文件的每一行都包含由6个冒号分隔的7个域: username: passwd: uid: gid: comments: directory: shell 以上从左到右7个域分别叙述如下: username:是用户登陆使用的名字. passwd:是口令密文域.密文是加密过的口令.如果口令经过shad