Linux

Linux 多线程应用中如何编写安全的信号处理函数

在开发多线程应用时,开发人员一般都会考虑线程安全,会使用pthread_mutex去保护全局变量。如果应用中使用了信号,而且信号的产生不是因为程序运行出错,而是程序逻辑需要,譬如SIGUSR1、SIGRTMIN等,信号在被处理后应用程序还将正常运行。在编写这类信号处理函数时,应用层面的开发人员却往往忽略了信号处理函数执行的上下文背景,没有考虑编写安全的信号处理函数的一些规则。本文首先介绍编写信号处理函数时需要考虑的一些规则;然后举例说明在多线程应用中如何构

系统 2019-08-29 22:23:03 1637

Linux

红旗Linux+Tomcat6

红旗Linux+Tomcat61.环境软件红旗Linux桌面版6.0jdk-1_5_0_15-linux-i586-rpm.binapache-tomcat-6.0.18.tar.gz把JDK和Tomcat安装软件Copy到/public路径下。2.JDK安装运行命令:#cd/public#./jdk-1_5_0_15-linux-i586-rpm.binJDK安装到路径:/usr/java/jdk1.5.0_15设置环境变量,编辑文件/etc/profi

系统 2019-08-12 09:26:43 1637

Linux

Linux环境下Oracle的安装与配置

---随着OracleforLinux8.0.5版本的推出,Linux环境下的高端数据库应用也达到了一个新高度。但由于Oracle自身的复杂性,在Linux环境下安装涉及很多方面的因素。我们将分三个方面来讨论在LinuxRedHat6.0环境下Oracle8.0.5的安装。一、Linux核心与环境的调整----在安装Oracle之前,要对RedHat6.0的Linux内核与环境进行调整。1.在完成RedHat6.0Linux的缺省安装后,需要安装以下软件包

系统 2019-08-12 01:53:53 1637

Linux

Linux守护进程的编程实现

Linux守护进程的编程方法守护进程(Daemon)是执行在后台的一种特殊进程。它独立于控制终端而且周期性地执行某种任务或等待处理某些发生的事件。守护进程是一种非常实用的进程。Linux的大多数server就是用守护进程实现的。比方,Internetserverinetd,Webserverhttpd等。同一时候,守护进程完毕很多系统任务。比方,作业规划进程crond,打印进程lpd等。守护进程的编程本身并不复杂,复杂的是各种版本号的Unix的实现机制不尽

系统 2019-08-12 01:33:15 1637

Linux

Linux C 多线程

原文:LinuxC多线程linux下C语言多线程编程#include#include#include#include#defineMAX10pthread_tthread[2];pthread_mutex_tmut;intnumber=0,i;void*thread1(){printf("thread1:I'mthread1\n");for(i=0;i

系统 2019-08-12 01:33:09 1637

Linux

Linux学习笔记27——共享内存

一共享内存共享内存是由IPC为进程创建的一个特殊的地址范围,它将出现在该进程的地址空间中。其他进程可以将同一段共享内存连接到它们自己的地址空间中,所有进程都可以访问共享内存中的地址。如果某个进程向共享内存写入了数据,所做的改动将立刻被可以访问同一段共享内存的任何其他进程看到。二相关函数#include//shmget创建共享内存intshmget(key_tkey,//为共享内存段命名size_tsize,//以字节为单位指定需要共享

系统 2019-08-12 01:32:34 1637

Linux

Step one : 熟悉Unix/Linux Shell 常见命令行 (

4.了解/etc目录下的各种配置文章,学会查看/var/log下的系统日志,以及/proc下的系统运行信息了解/etc目录下的各种配置文章/etc/hosts主机配置文件/etc/networks路由表功能/etc/passwd用户配置文件/etc/exports系统自动挂载盘配置文件/etc/fstab系统自动挂载盘配置文件/etc/group用户组文件其他用处不是很大查看/var/log下的系统日志1)/var/log/secure:记录登录系统存取数

系统 2019-08-12 01:32:21 1637

Linux

Linux内核链表

以下全部来自于http://www.ibm.com/developerworks/cn/linux/kernel/l-chain/index.html无任何个人意见。本文详细分析了2.6.x内核中链表结构的实现,并通过实例对每个链表操作接口进行了详尽的讲解。一、链表数据结构简介链表是一种常用的组织有序数据的数据结构,它通过指针将一系列数据节点连接成一条数据链,是线性表的一种重要实现方式。相对于数组,链表具有更好的动态性,建立链表时无需预先知道数据总量,可以

系统 2019-08-12 09:30:05 1636

Linux

Linux环境高级编程

Linux环境高级编程Linux环境高级编程2011-08-2014:09一、课程目标本次课程涵盖Linux系统编程的几个主要方面,通过本次课程的学习,学员将具备以下能力:了解Linux系统调用和类库的区别;熟悉文件I/O、文件和目录、进程管理、进程间通信(IPC)、信号、时间与定时器的编程。二、参训要求参加本次课程的学员须具备以下能力:本次课程使用C语言教学,所以学员需拥有较好的C语言基础;能熟练使用常用的Linux命令;能熟练使用gcc、gdb、熟练撰

系统 2019-08-12 01:33:28 1636

Linux

linux服务器初步印象,远程连接mysql数据库,传

1.连接服务器数据库,以Navicat连接mysql为例1.1常规新建连接,连接名,主机名或ip地址:127.0.0.1端口:3306用户名:(服务器端)root密码:(服务器端)pwd1.2SSH使用SSH通道主机名或IP地址:(服务器IP)端口:22用户名:(服务器用户名root)密码:(服务器密码)连接成功之后,像本地操作数据库一样。2.安装sshsecureshellclient_3_2_9软件3.使用SSHSecureShellClient登录,

系统 2019-08-12 01:33:21 1636

Linux

linux查看磁盘空间的指令方法

一、df命令;df是来自于coreutils软件包,系统安装时,就自带的;我们通过这个命令可以查看磁盘的使用情况以及文件系统被挂载的位置;举例:[root@localhostbeinan]#df-lhFilesystem容量已用可用已用%挂载点/dev/hda811G6.0G4.4G58%//dev/shm236M0236M0%/dev/shm/dev/sda156G22G35G39%/mnt/sda1我们从中可以看到,系统安装在/dev/hda8;还有一

系统 2019-08-12 01:32:32 1636

Linux

Linux 线程库性能测试与分析

简介:NPTL成为glibc"正选"线程库后,它的性能如何受到很多人的关注。本文就针对NPTL与LinuxThreads的性能比较,以及超线程、内核可抢占等特性对线程性能的影响进行了全面评测。一、前言在Linux2.6.x内核中,调度性能的改进是其中最引人注目的一部分[1]。NPTL(NativePosixThreadLibrary)[2]使用内核的新特性重写了Linux的线程库,取代历史悠久而备受争议的LinuxThreads[3]成为glibc的首选线

系统 2019-08-29 22:23:05 1635

Linux

(原创)第一章 Introduction to the Linux Ker

一直对linux内核很感兴趣,早就想深入的学习下,由于自己目前的水平还比较菜,所以在blog中记录下学习中的心得和体会,一则自己做一个记录,同时也可以督促自己的学习进度;二来可以抛砖引玉,希望和我一样对内核有兴趣的朋友们多多指点,共同进步。[第一章]IntroductiontotheLinuxKernel主要是一些概述性的内容,主要包括:1、Unix和Linux发展的背景和历史,这部分没有什么可说的,作为常识了解吧。2、操作系统和内核概述(1)内核主要组件

系统 2019-08-29 22:05:30 1635

Linux

linux2.6.38.2进程列表显示

哈尔滨理工大学软件工程专业08-7李万鹏原创作品,转载请标明出处http://blog.csdn.net/woshixingaaa/archive/2011/04/15/6324900.aspx这里使用/proc文件系统显示出进程列表。/proc文件系统是一种特殊的,由软件创建的文件系统,内核使用它向外界导出信息。/proc下的每个文件都绑定于一个内核函数,用户读取其中的文件时,该函数动态的生成文件的”内容”。现代Linux发行版中的很多工具都是通过/pr

系统 2019-08-29 21:58:12 1635

Linux

linux输入yum后提示: -bash: /usr/bin/yum: No

linux输入yum后提示:-bash:/usr/bin/yum:Nosuchfileordirectory的解决方案今天在安装程序时,发现有一个插件未安装,我就随手敲了一个命令,看都没看yumremoveyum然后就杯具了...1[root@localhost~]#yum2-bash:/usr/bin/yum:Nosuchfileordirectory这个粗心的手误倒不至于让整个系统瘫痪,yum却无法使用了。于是,我试着折腾了一番1rpm-ivh--no

系统 2019-08-12 09:27:28 1635