E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
Linux环境编程
Linux环境编程
之IPC进程间通信(二):管道
管道作为最古老的进程间通信方法,它有以下几个特点:1、在所有的UNIX实现中都存在。2、没有名字,因此只能由有亲缘关系的进程使用。3、它由函数pipe创建,read和write函数访问,但只提供单路(单向)数据流。#include intpipe(intfd[2]);返回:若成功则为0,若出错则为-1经由参数fd返回两个文件描述符:fd[0]为读而打开,fd[1]为写而打开。fd[1]的输出是fd
To_Be_IT_1
·
2014-06-04 21:00
ipc
管道
Linux环境编程
之高级I/O(一):非阻塞I/O、记录锁
引言:高级I/O包括非阻塞I/O、记录锁、系统V流机制、I/O多路转接(select和poll函数)、readv和writev函数以及存储映射I/O。(一)非阻塞I/O可能会使进程永远阻塞的一类系统调用有:1、如果某些文件类型的数据并不存在,则读操作可能会使调用者永远阻塞。2、如果数据不能立即被上述同样类型的文件接受,则写操作也会使调用者永远阻塞。3、在某种条件发生之前,打开某些类型的文件会阻塞。
To_Be_IT_1
·
2014-05-18 14:00
非阻塞IO
记录锁
fcntl函数
Linux环境编程
之信号(三):一些信号函数
(一)kill和raise函数kill函数将信号发送给进程或进程组。raise函数则允许进程自身发送信号。 #include #include intkill(pid_tpid,intsig); intraise(int signo); //返回值:若成功则返回0,若出错则返回-1。参数:pid参数有4种情况:1、pid>0将信号发送给进程为pid的进程。2、pid==0将
To_Be_IT_1
·
2014-05-17 21:00
信号
Linux环境编程
之信号(二):不可靠信号、中断的系统调用、可重入函数
(一)不可靠信号对前面说的信号,是不可靠的,不可靠指的是信号可能会丢失:一个信号发生了,但进程却可能一直不知道这一点。另外,进程对信号的控制能力有限,只能捕捉信号或忽略它。有时用户希望通知内核阻塞一个信号:不要忽略它,在其发生时记住它,然后在进程做好准备时再通知它。这种阻塞信号的能力并不具备。之前的版本中村咋一个问题:在进程每次接到信号对其进行处理时,随即将该信号动作复位为默认值。另一个问题是,在
To_Be_IT_1
·
2014-05-17 20:00
信号
Linux环境编程
之信号(一):信号基本概述
引言假如在后台运行一个可执行程序./a.out,如果想终止该程序,通常会按下Ctrl-C,从而产生一个中断,其实这个过程的实现就是通过信号完成的。信号是软件中断,它提供了一种处理异步事件的方法。(一)每个信号都有一个名字,这些名字都以三个字符SIG开头。例如SIGALARM是闹钟信号,当由alarm函数设置的计时器超时后产生此信号。Linux除支持31种不同信号外,还支持应用程序额外定义信号。信号
To_Be_IT_1
·
2014-05-17 13:00
信号
signal函数
Linux环境编程
之进程(七):守护进程
守护进程也是一种进程,它由如下特性:1、生存期较长,在系统自举时启动,仅在系统关闭时终止。2、没有控制终端,在后台运行。系统中有很多守护进程,它们执行日常事务活动。如日志进程syslogd、web服务器httpd、邮件服务器sendmail和数据块服务器mysqld等。大多数守护进程都是以超级用户(用户ID为0)特权运行。没有一个守护进程具有控制终端,其终端设置为问号(?),终端前台进程组ID设置
To_Be_IT_1
·
2014-05-17 07:00
守护进程
Linux环境编程
之进程(六):进程组
进程组每个进程除了有一个进程ID之外,还属于一个进程组。进程组是一个或多个进程的集合。每个进程组有一个唯一的进程组ID。进程组ID类似于进程ID——它是一个整数,并可存放在pid_t数据类型中。函数getpgrp返回调用进程的进程组ID。每个进程组都可以有一个组长进程。组长进程的标识是,其进程组ID等于其进程ID。组长进程可以创建一个进程组,创建该组中的进程,然后终止。只要在某个进程组中有一个进程
To_Be_IT_1
·
2014-05-15 15:00
进程组
Linux环境编程
之进程(五):竞争条件以及exec函数
(一)当多个进程企图对共享数据进行某种处理,而最后的结果又取决于进程运行的顺序时,就认为它们发生了竞争关系。避免竞争的条件,给出apue上的一个代码吧:#include"apue.h" staticvoidcharatatime(char*); int main(void) { pid_tpid; TELL_WAIT();/*setthingsupforTELL_XXX&WAIT_XXX*/
To_Be_IT_1
·
2014-05-15 10:00
竞争条件
exec函数
Linux环境编程
之进程(四):创建新进程、执行程序和进程终止
引言:对于每个进程,都有一个非负整数表示的唯一进程ID。虽然进程的ID是唯一的,但却是可重用的。系统中有一些专用的进程。如ID为0的进程通常是调度进程,也成交换进程或系统进程(它是内核进程)。进程ID为1通常是init进程,它是一个普通的用户进程。一些与进程ID有关的函数:#includepid_tgetpid(void); //返回值:调用进程的进程IDpit_tgetppid(void);//
To_Be_IT_1
·
2014-05-15 09:00
进程终止
进程创建
Linux环境编程
之进程(三):函数间跳转
引言:在编写程序时,经常在函数内部使用goto语句来跳转,从而进行出错处理,那么如果想要在函数之间进行跳转该怎么做呢?使用setjmp和longjmp函数。给出示例程序:#include#include#includestaticvoidf1(int,int,int,int);staticvoidf2(void);staticjmp_bufjmpbuffer;staticintglobval;in
懒人李冰
·
2014-05-14 15:16
Linux系统编程
Linux环境编程
Linux环境编程
之进程(三):函数间跳转
引言:在编写程序时,经常在函数内部使用goto语句来跳转,从而进行出错处理,那么如果想要在函数之间进行跳转该怎么做呢?使用setjmp和longjmp函数。给出示例程序:#include #include #include staticvoidf1(int,int,int,int); staticvoidf2(void); staticjmp_bufjmpbuffer; staticintgl
To_Be_IT_1
·
2014-05-14 15:00
setjmp
longjmp
函数间跳转
Linux环境编程
之进程(二):程序的存储空间布局
引言:一个写好的程序一般要存放在存储器中,那么程序中的代码、数据等各部分,是如何有规律的存放在存储器中的呢?(一)一个存储的程序可分为五部分:正文段、初始化数据段、非初始化数据段、栈、堆。其典型的存储安排如下图:正文段:这是由CPU执行的机器指令的部分。通常,正文段是可共享的,所以即使是频繁执行的程序在存储器中也只需要一个副本,另外正文段常常是只读的,以防止程序由于意外而修改其自身的指令。初始化数
To_Be_IT_1
·
2014-05-14 14:00
共享库
程序的存储
存储分配
Linux环境编程
之进程(一):main函数调用、进程终止以及命令行参数和环境表
(一)main函数调用main函数作为程序运行时的入口函数,它是如何被调用的呢?首先必须清楚一点,main函数也是一个函数,它只有被调用才能够执行。其实,在执行可执行程序时,在调用main函数之前,内核会先调用一个特殊的启动例程,将此启动例程作为可执行程序的起始地址。启动例程是如何作为可执行程序的起始地址的?这是由链接编译器设置的,而链接编译器则是由C编译器(如gcc编译器)调用的。启动例程作为可
To_Be_IT_1
·
2014-05-14 13:00
exit
环境表
进程终止
atexit
命令函参数
Linux环境编程
之文件I/O(八):文件链接
引言:执行如下命令时,ls/usr/local/lib/libfreetype.so-l显示内容:lrwxrwxrwx1rootroot202014-04-0622:57/usr/local/lib/libfreetype.so->libfreetype.so.6.9.0表明这是一个链接文件,通过链接可以实现对一个文件从不同路径对它进行引用。对于文件的链接有硬链接和软连接(即符号链接)之分。she
To_Be_IT_1
·
2014-05-13 13:00
符号链接
硬链接与软链接
文件的时间
Linux环境编程
之文件I/O(七):目录文件及操作
引言:在Linux中,目录也是文件,我们在使用linux系统时,一般使用mkdir命令创建新的目录,跟命令相对应的也有创建目录、删除目录的函数。(一)用mkdir函数创建目录,用rmdir函数删除目录。注意:当我们在创建普通文件时,一般指定文件的mode为读、写权限,但对于目录,我们至少要设置1个执行权限,以允许访问该目录中的文件名。用rmdir函数删除一个空目录。函数原型如下: #incl
To_Be_IT_1
·
2014-05-12 23:00
mkdir
closedir
opendir
rmdir
目录文件
Linux环境编程
之文件I/O(六):文件属性
引言:在Linux中使用ls-lfilename命令查看filename的属性时,会列出文件的9种属性,例如:ls-l/etc/fstab -rw-r--r--1rootroot11022013-10-1202:33/etc/fstab 从左到右分别是类型与权限、文件个数、该文件或目录的拥有者、所属的组、文件大小、创建时间、文件名以上这些文件属性的信息,都存放在一个stat的结构体中。下面就来分析
To_Be_IT_1
·
2014-05-12 20:00
linux文件属性
access函数
umask函数
stat结构体
Linux环境编程
之文件I/O(五):fcntl函数
引言:对于一个普通的文件,我们可以想到的对它的操作有,读取文件的内容、写数据到文件中,这些都是前面提到的read、write函数的作用。除此之外,还可以获取文件的其他性质,并对这些性质进行修改,比如文件的描述符、文件描述符标记、文件状态标志等等。这些对文件性质的修改就由fcntl函数完成。函数介绍: #include #include intfcntl(intfd,intcmd,
To_Be_IT_1
·
2014-05-11 15:00
fcntl
文件IO
Linux环境编程
之文件I/O(四):文件I/O的数据结构
(一)Linux系统支持不同进程间共享打开的文件。内核使用三种数据结构表示打开的文件:进程表项、文件表项、v节点表。1、进程表项:每个进程在进程表中都有一个记录项,记录项中年包含有一张打开文件描述符表,可将其视为一个矢量,每个描述符占用一项。与每个文件描述符相关联的是:a、文件描述符标志b、指向一个文件表项的指针2、内核为所有打开文件维持一张文件表。每个文件表项包含:a、文件状态标志,如读写、添加
To_Be_IT_1
·
2014-05-11 11:00
dup
dup2
文件共享
pread
pwrite
Linux环境编程
之文件I/O(三):文件的读写
(一)当我们打开了一个文件后,一般对文件的操作就是读写。读写函数分别是read、write。 #include ssize_tread(intfd,void*buf,size_tcount);参数:fd:利用open、creat得到的文件描述符。buf:buf是void*类型,用于表示通用指针,此处指所读取到的数据的内存缓冲。count:需要读取的数据量。返回值:成功执行时,返回所读取
To_Be_IT_1
·
2014-05-10 22:00
linux
IO
write
read
lseek
Linux环境编程
之文件I/O(二):文件的打开与关闭
(一)Linux系统中,要对一个文件进行任何操作,必须首先获得它的文件描述符。而获得文件描述符的方式就是利用open/creat函数打开/创建该文件,open/creat函数返回文件描述符。 #include #include #include intopen(constchar*pathname,intflags); intopen(constchar*pathna
To_Be_IT_1
·
2014-05-10 16:00
open
close
文件IO
creat
文件的打开与关闭
Linux环境编程
之文件I/O(一):文件描述符
(一)首先,对于内核来讲,它是利用“文件描述符”来访问文件的。文件描述符一般是一个非负的整数。当我们用open打开已有的文件或者用creat创建新的文件时,都会返回一个文件描述符。有了文件描述符之后,我们就可以利用该文件描述进行文件的读写,即read、write系统调用都需要文件描述符fd(filedescriptor)作为其参数。从以上描述可以看出,当我们想要用read、write等系统调用对文
To_Be_IT_1
·
2014-05-10 15:00
文件描述符
文件IO
并不完美的2013
我以为是自己不懂linux编程,于是学习了
linux环境编程
,明白了函数及其实现。入手代码之后,发现自己对于代码完全理不清头绪,可以看懂每个单词,就是不知道它的架构,不清楚消息在各个层次之间的走向。
bsdcfp
·
2013-12-24 22:00
近期计划
2.复习
Linux环境编程
,TCP/IP协议与相关知识,写成博文,发布代码。3.复习操作系知识、ARM架构、qnx/linux/ios/Android/Mac/Windows内核架构。
天使的白骨
·
2013-12-23 10:00
Linux教程从入门到精通
该文集共分10章,分别讲述Linux系统概述、系统安装和图形环境,常用命令,vi编辑器,shell编程,内核的功能和实现,常用开发工具,
Linux环境编程
,系统管理,网络应用和管理,嵌入式系统简介等。
李航421
·
2013-09-16 09:00
linux
教程
入门到精通
这学期读的书
《LinuxShell编程从入门到精通》人民邮电出版社-------读完《LinuxShell编程从初学到精通》华清软件----------------读完《GNU/
LINUX环境编程
》M。
buaa_shang
·
2013-04-18 08:00
编写自己的Shell解释器
同时,还将就用到的一些
linux环境编程
的知识做
dadoneo
·
2013-01-11 15:00
[置顶]Linux网络编程必看书籍推荐
[置顶]Linux网络编程必看书籍推荐 分类: TCP/IP协议
Linux环境编程
2011-08-1712:2722528人阅读评论(23)收藏举报linux
linshixina
·
2012-12-26 20:00
tcp/ip协议
Linux环境编程
Linux网络编程必看书籍推荐
分类: TCP/IP协议
Linux环境编程
2011-08-1712:27 17267人阅读 评论(15) 收藏 举报目录(?)[+] 首先要说讲述TCP/IP的书很多,其中有3泰书很全。
cuiyifang
·
2012-10-16 18:00
编程
linux
unix
网络
protocols
tcp/ip协议
linux内核
Linux环境编程
Linux网络编程必看书籍推荐
分类:TCP/IP协议
Linux环境编程
2011-08-1712:2716686人阅读评论(15)收藏举报首先要说讲述TCP/IP的书很多,其中有3泰书很全。
QuitePig
·
2012-10-03 13:00
tcp/ip协议
Linux环境编程
通过内存映射 复制文档内容
linux环境编程
#include #include #include"apue.h" #include #include #include #include #include #include #defineBUFFSIZE4096 int main(intargc,char*argv[]) { intfdin,fdout; structstatstatbuf; void*src,*
j_akill
·
2012-09-17 14:00
编程
linux
struct
文档
insert
DST
-
Linux环境编程
- ChinaUnix.net -
-
Linux环境编程
-ChinaUnix.net-互联网文本处理挑战巨大中文分词系统设计如何面对?
·
2012-06-05 09:00
linux
Linux环境编程
语言概览
本文出自“elephant_liu”博客,请务必保留此出处http://elephantliu.blog.51cto.com/1107116/868249
Linux环境编程
语言概览我从最开始学习编程的时候
cbs612537
·
2012-06-03 21:00
Linux环境编程
语言概览
Linux环境编程
语言概览我从最开始学习编程的时候,就是使用Linux。虽然我只有三年的编程经验,但是我觉得,使用Linux编程,真是一件令人心情愉悦的事情。
lexdene
·
2012-05-18 22:05
linux
linux系统
编程语言
linux程序设计
Linux环境编程
语言概览
Linux环境编程
语言概览我从最开始学习编程的时候,就是使用Linux。虽然我只有三年的编程经验,但是我觉得,使用Linux编程,真是一件令人心情愉悦的事情。
lexdene
·
2012-05-18 22:05
linux
编程语言
linux系统
Linux网络编程必看书籍推荐
http://blog.csdn.net/21aspnet/article/details/6694485 [置顶] Linux网络编程必看书籍推荐分类: TCP/IP协议
Linux环境编程
2011-
ggxxkkll
·
2012-04-22 00:00
tcp/ip协议
Linux环境编程
Linux环境编程
简明教程(2)字符串相关操作
事实上,字符串操作,不能算是
Linux环境编程
的一部分。但由于
Linux环境编程
,基本就是对C语言函数库的编程,所以对于字符串的理解是必不可少的。
晨曦之光
·
2012-03-20 18:00
Linux环境编程
简明教程(1)获取进程相关信息的操作
与获取进程相关信息的操作,都在unistd.h文件中,常用的有如下一些函数。getuid函数原型:uid_tgetuid(void);函数功能:获取调用进程的用户的ID。函数返回:调用进程的用户的ID。声明文件:unistd.hgetgid函数原型:gid_tgetgid(void);函数功能:获取调用进程的用户组的ID。函数返回:调用进程的用户组的ID。声明文件:unistd.hgetpid函数
晨曦之光
·
2012-03-20 18:00
linux环境编程
中ruptime示例中的getaddrinfo
前几天在看
linux环境编程
中的套接字时,看到了ruptime的示例。于是乎自己将示例在本机演示了一翻。
xukai6571186
·
2012-03-15 10:00
编程
linux
struct
服务器
service
File
Linux网络编程必看书籍推荐
分类: TCP/IP协议
Linux环境编程
2011-08-1712:276885人阅读评论(7)收藏举报首先要说讲述TCP/IP的书很多,其中有3泰书很全。
xdx2ct1314
·
2012-03-13 21:00
tcp/ip协议
Linux环境编程
应用Gnuplot进行数据的可视化 Ubuntu
今天在《GNU/
LINUX环境编程
》中看到了,学习了一下,以下就做个学习笔记吧。1,安装Gnuplot如果你的电脑里没有Gnuplot,可以用以下的命令安装:sudoapt-getinstal
ivan_zjj
·
2011-12-26 23:00
vim插件【功能说明、安装方法和使用方法介绍】
=====================================122.ctags13(1).帮助手册查看14:helpusr_291516(2).功能17ctags的功能,只要在unix/
linux
OutManLee
·
2011-12-26 19:00
windows
File
vim
templates
tags
vim+global+ctags搭建高效的编程环境(Windows/Linux)
曾经在在
Linux环境编程
时,一个很棘手的问题就是编程环境,Linux下有没有像VS这样的编程工具呢?经过查找资料并进行尝试,对一些方法有了新的认识,感觉有必要整理下来和大家分享。
sanlinux
·
2011-11-18 23:00
嵌入式系统学习之路
(1)、window环境编程;(2)、
Linux环境编程
;(3)、单片机1、《C语言》第二版谭浩强;《C程序设计语言》第二版徐宝文译机戒工业出版社你能区分开指针数组和数组指针吗?你知道函数指针吗?
bluewindkanan
·
2011-10-14 23:00
Linux环境编程
简明教程(2)字符串相关操作
事实上,字符串操作,不能算是
Linux环境编程
的一部分。但由于
Linux环境编程
,基本就是对C语言函数库的编程,所以对于字符串的理解是必不可少的。
oraclestudy
·
2011-09-20 18:00
linux
Linux环境编程
简明教程(1)获取进程相关信息的操作
与获取进程相关信息的操作,都在unistd.h文件中,常用的有如下一些函数。getuid函数原型:uid_tgetuid(void);函数功能:获取调用进程的用户的ID。函数返回:调用进程的用户的ID。声明文件:unistd.hgetgid函数原型:gid_tgetgid(void);函数功能:获取调用进程的用户组的ID。函数返回:调用进程的用户组的ID。声明文件:unistd.hgetpid函数
Poechant
·
2011-09-20 17:00
Linux环境编程
简明教程(1)获取进程相关信息的操作
与获取进程相关信息的操作,都在unistd.h文件中,常用的有如下一些函数。 getuid 函数原型:uid_t getuid(void); 函数功能:获取调用进程的用户的ID。 函数返回:调用进程的用户的ID。 声明文件:unistd.h getgid 函数原型:gid_t getgid(void); 函数功能:获取调用进程的用户组的ID。 函数返回:调用进程的用户组的
oraclestudy
·
2011-09-20 17:00
linux
学习嵌入式系统需要具备的条件、方法及步骤
(1)、window环境编程;(2)、
Linux环境编程
;(3)、单片机3、最后也是最重要的一点,你得有坚韧不拔之志和一颗平常之心。(1)、自信坚
yz2022408
·
2011-09-12 09:00
数据结构
编程
linux
嵌入式
语言
linux内核
Linux环境编程
--waitpid与fork与execlp
waitpidwaitpid(等待子进程中断或结束)表头文件#include#include定义函数pid_twaitpid(pid_tpid,int*status,intoptions);函数说明waitpid()会暂时停止目前进程的执行,直到有信号来到或子进程结束。如果在调用wait()时子进程已经结束,则wait()会立即返回子进程结束状态值。子进程的结束状态值会由参数status返回,而
21aspnet
·
2011-09-05 11:00
编程
linux
File
null
存储
Path
Linux环境编程
--linux中的perror、exit、_exit、wait 和 waitpid
perror:#include #include定义函数voidperror(constchar*s); perror("open_port");函数说明perror()用来将上一个函数发生错误的原因输出到标准错误(stderr)。参数s所指的字符串会先打印出,后面再加上错误原因字符串。此错误原因依照全局变量error的值来决定要输出的字符串。 在库函数中有个error变量,
21aspnet
·
2011-08-30 19:00
Linux环境编程
--进程通信
实验内容编写程序实现进程的管道通信。用系统调用pipe()建立一管道,二个子进程P1和P2分别向管道各写一句话: Child1issendingamessage! Child2issendingamessage!父进程从管道中读出二个来自子进程的信息并显示(要求先接收P1,后P2)。 实验指导一、什么是管道UNIX系统在OS的发展上,最重要的贡献之一便是该系统首创了管道(pipe)。这也是
21aspnet
·
2011-08-30 18:00
编程
linux
unix
任务
磁盘
Numbers
上一页
1
2
3
4
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他