Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器 软件资源

软件开发小程序制作系统集成与运维空间租用硬件开发视频监控技术咨询与支持——联系电话:0311-88999002/88999003

首页 / 操作系统 / Linux

Linux内核线程死锁或死循环之后如何让系统宕机重启

Linux内核线程死锁或死循环之后如何让系统宕机重启

在开发内核模块或驱动时,如果处理失误,导致内核线程中出现死锁或者死循环,你会发现,除了重启之外,你没有任何可以做的。这时你的输入不起任何作用,终端(不是指远程的ssh工具)只会在那重复的输出类似“BUG: soft lockup - CPU#0 stuck for 67s! [fclustertool:2043]”,更无奈的是你重启之后导致系统挂起的堆栈信息也看不到,你所能做的就是一遍遍的加调试信息,一遍遍的重启机器(这是我的经历,...
TIME_WAIT状态下对接收到的数据包如何处理

TIME_WAIT状态下对接收到的数据包如何处理

正常情况下主动关闭连接的一端在连接正常终止后,会进入TIME_WAIT状态,存在这个状态有以下两个原因(参考《Unix网络编程》):《UNIX网络编程.卷2:进程间通信(第2版)》[PDF]下载 http://www.linuxidc.com/Linux/2013-01/77936.htm1、保证TCP连接关闭的可靠性。如果最终发送的ACK丢失,被动关闭的一端会重传最终的FIN包,如果执行主动关闭的一端没有维护这个连接的状态信息,会发送RST包响应,导致连...
探讨Linux kernel中对序列号超前的ACK包的处理

探讨Linux kernel中对序列号超前的ACK包的处理

在开发的内核模块中遇到这样一个问题:一个数据包有多个请求,每次只让服务器处理一个请求,所以在将请求交到上层的时候需要拆包,只将部分数据交到上层。为了防止客户端重传数据包,要预先给客户端发送一个对完整数据包的确认。这样就会造成一个问题,客户端发送的ACK包的序列号,会比协议栈中期望的序列号大。假设完整数据包的起始序列号分别为1883458390、1883458821,上层协议栈拿到的数据包的起始序列号为1883458390、1883458476,这时服务器端...
Java中的输入与输出流详解

Java中的输入与输出流详解

输入与输出流在Java中,信息的输入和输出(I/O)是程序设计语言中的一个很重要的部分。在任何程序中都离不开信息的输入和输出。在面向对象语言中,输入和输出都是通过数据流来实现的。处理数据流的类主要被放在包java.io中。因为前面已经讲过I/O流的基本知识,所以下面只是对之前只是的巩固和补充。1、数据流的划分按照处理数据的单位划分,Java定义了两种类型的数据流:字节流和字符流。字节流是用来处理字节的输入和输出的,各种数据都可以用字节来表示,包括数字数据、...
<< 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 >>