Welcome 微信登录

首页 / 操作系统 / Linux

Linux系统下编写Daemon程序的方法与步骤

Linux系统下编写Daemon程序的方法与步骤

一、引言 Daemon程序是一直运行的服务端程序,又称为守护进程。 本文介绍了在Linux下编写Daemon程序的步骤,并给出了例子程序。 二、Daemon程序简介 Daemon是长时间运行的进程,通常在系统启动后就运行,在系统关闭时才结束。一般说Daemon程序在后台运行,是因为它没有控制终端,无法和前台的用户交互。Daemon程序一般都作为服务程序使用,等待客户端程序与它通信。我们也把运行的Daemon程序称作守护进程。 三、Daemon程序编写规则 ...
Linux网络编程全面教程

Linux网络编程全面教程

1. Linux网络知识介绍1.1 客户端程序和服务端程序 网络程序和普通的程序有一个最大的区别是网络程序是由两个部分组成的--客户端和服务器端.网络程序是先有服务器程序启动,等待客户端的程序运行并建立连接.一般的来说是服务端的程序 在一个端口上监听,直到有一个客户端的程序发来了请求. 1.2 常用的命令 由于网络程序是有两个部分组成,所以在调试的时候比较麻烦,为此我们有必要知道一些常用的网络命令 netstat 命令netstat是用来显示网络的连接,路...
Linux系统下C语言编程工具详细介绍

Linux系统下C语言编程工具详细介绍

Linux的发行版中包含了很多软件开发工具。 它们中的很多是用于 C 和 C++应用程序开发的。 本文介绍了在 Linux 下能用于 C 应用程序开发和调试的工具。 本文的主旨是介绍如何在 Linux 下使用 C 编译器和其他 C 编程工具, 而非 C 语言编程的教程。在本文中你将学到以下知识: · 什么是 C · GNU C 编译器 · 用 gdb 来调试GCC应用程序 你也能看到随 Linux 发行的其他有用的 C 编程工具。 这些工具包括源程序美化程...
Linux下的环境变量设置与定制

Linux下的环境变量设置与定制

我们在Linux下安装系统软件的时候,经常遇到一些系统环境变量配置的问题。什么是环境变量?如何定制环境变量?我将在下面做一些介绍。一、什么是环境变量?Linux是一个多用户的操作系统。多用户意味着每个用户登录系统后,都有自己专用的运行环境。而这个环境是由一组变量所定义,这组变量被称为环境变量。用户可以对自己的环境变量进行修改以达到对环境的要求。二、定制环境变量 环境变量是和Shell紧密相关的,它是通过Shell命令来设置的。环境变量又可以被所有当前用户所...
Linux驱动主要类型简介

Linux驱动主要类型简介

字符设备character device:采用字符流方式访问的设备,如字符终端,串口,一般顺序访问,但也可以前后移动访问指针,如帧捕捉卡。常见要开发的有:触摸屏,自定义键盘,视频捕捉设备,音频设备等块设备Block device:采用数据块方式访问的设备,如磁盘等,可以随意移动访问。和字符设备的差异在于内核内部管理数据的方式,如采用缓存机制等。并必须支持 mount文件系统基本上不用自己开发,象硬盘,光盘,USB存储设备等Linux都提供了网络接口 net...
实例讲解Linux设备驱动程序的设计

实例讲解Linux设备驱动程序的设计

Linux系统中,设备驱动程序是操作系统内核的重要组成部分,在 与硬件设备之间建立了标准的抽象接口。通过这个接口,用户可以像处理普通文件一样,对硬件设备进行打开(open)、关闭(close)、读写(read/write)等操作。通过分析和设计设备驱动程序,可以深入理解Linux系统和进行系统开发。本文通过一个简单的例子来说明设备驱动程序的设计。1、 程序清单// MyDev.c 2000年2月7日编写#ifndef __KERNEL__# define ...
DKMS的安装和使用

DKMS的安装和使用

不想说太多废话,也不喜欢在旧的经验里面打转。很早以前已经想写些关于DKMS方面的文章。今天忽然想起mara和他以前曾经略略带过的DKMS,又看见有些兄弟为驱动而烦恼,故写之。 序言: DKMS(Dynamic Kernel Module Support)是DELL的一个项目,主页在http://linux.dell.com/projects.shtml DKMS为整个社区加快了驱动程序的开发、测试和检验,也便于用户安装所需的驱动程序。 目的: D...
JAVA学习小记

JAVA学习小记

Java发展到现在,按应用来分主要分为三大块:J2SE,J2ME和J2EE。这三块相互补充,应用范围不同。 J2SE就是Java2的标准版,主要用于桌面应用软件的编程; J2ME主要应用于嵌入是系统开发,如手机和PDA的编程; J2EE是Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统。 先学习j2se 要学习j2ee就要先学习j2se,刚开始学习j2se先建议不要使用IDE,然后渐渐的过渡到使用IDE开发,毕竟用它...
Linux设备驱动编程内核模块的学习

Linux设备驱动编程内核模块的学习

内核模块 Linux设备驱动属于内核的一部分,Linux内核的一个模块可以以两种方式被编译和加载: (1)直接编译进Linux内核,随同Linux启动时加载; (2)编译成一个可加载和删除的模块,使用insmod加载(modprobe和insmod命令类似,但依赖于相关的配置文件),rmmod删除。这种方式控制了内核的大小,而模块一旦被插入内核,它就和内核其他部分一样。 下面我们给出一个内核模块的例子: #include <linux/module....
高手进阶 更换Fedora Core 6的内核

高手进阶 更换Fedora Core 6的内核

最初的Fedora Core 6版本在安装时,会默认安装i586的内核。i586的内核有诸多弊端,例如在安装nvidia显卡驱动时会引起问题,而且也不能充分发挥处理器的性能。 首先简单解释一下i386,i586和i686的区别与联系。实际上,它们都属于x86架构的兼容处理器的范畴,包括AMD的CPU在内,横向是相对于arm,powerpc等处理器架构而言的,纵向则是前向兼容的,只是处理器的更新换代而已。i386主要是指老的386机器,也泛指IA32体系的...
Linux操作系统内核中工作队列的操作

Linux操作系统内核中工作队列的操作

本文档的Copyleft归yfydz所有,使用GPL发布,可以自由拷贝,转载,转载时请保持文档的完整性,严禁用于任何商业用途。 msn: yfydz_no1@hotmail.com 来源:http://yfydz.cublog.cn 1. 前言 工作队列(workqueue)的Linux内核中的定义的用来处理不是很紧急事件的回调方式处理方法. 以下代码的linux内核版本为2.6.19.2, 源代码文件主要为kernel/workqueue.c. 2. 数...
轻松打造自己的Linux开发环境

轻松打造自己的Linux开发环境

之前只是少少的使用过vi,cscope,taglist和sourceNav,用的都不怎么熟悉。这次先了解一下目前Linux下流行的开发环境(参考1),最后还是决定以vi为基础构造我的Linux开发环境。“VIM或EMACS做编辑器,GCC做编译器, automake做工程,doxygen做文档,cvs做管理”,这大概也是我希望的吧。另外有人提到svn,说是cvs的替代者。安装步骤1. 安装gcc等;done in 《Ubuntu安装笔记》.2. 升级vi到...
Linux内核编译过程详细讲解(kernel2.6.7)

Linux内核编译过程详细讲解(kernel2.6.7)

花了几天才编译成功kernel2.6.7,其过程真可谓艰辛.古语有云:"苦尽甘来!"现在终于可以乐上一阵了.由于许多朋友对操作的顺序及某些重要的配置知之甚少或知之不详,往往病急乱投医.加之网上的信息多且烦杂,使得编译内核成功率不高,甚至造成原来的系统崩溃的也不在少数.我就是其中一个。 其实,编译内核并不是一件难事.如果能按照正确的方法来操作,最多花上一个半小时就能搞定.是不是很受鼓舞呀! 废话少说,现在我们马上开始.我原来的系统是RedHat...
<< 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 >>