想进行Linux系统开发已经很久了,一直没有付诸实践.今日终于开始学习Linux下的C语言编程,研究一天,终于大概弄明白了Linux系统进程管理的一些基本概念和编程方法,总结下来以方便大家学习和自己实践. 进程系统 Linux是个多任务多用户的操作系统,系统直接管理的每个任务的最小单位,就是进程(process).每个进程都有一个惟一的标识符pid,不同的进程pid不相同,在Shell下输入ps -A,可以显示当前的所有进程.一个进程不代表一个应用程序(application),因为一个应用程序…
视频参看csdn学院王阳和下面的linux环境下c语言编程基础相当的经典,其中王阳的视频讲的很好,相当的经典 编译hellogcc.c需要依赖/home目录下的头文件 为了避免同一个文件被include多次,C/C++中有两种方式,一种是#ifndef方式,一种是#pragma once方式.在能够支持这两种方式的编译器上,二者并没有太大的区别,但是两者仍然还是有一些细微的区别. 方式一: #ifndef __SOMEFILE_H__ #define __SOMEFILE_H__ ... ...…
1.socket套接字: socket起源于Unix,而Unix/Linux基本哲学之一就是“一切皆文件”,都可以用“打开open –> 读写write/read –> 关闭close”模式来操作.Socket就是该模式的一个实现,socket即是一种特殊的文件,一些socket函数就是对其进行的操作(读/写IO.打开.关闭).     说白了Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口.在设计模式中,Socket其实就是一个门面模式,它把复杂的TCP/IP协议族…
Linux C网络编程总结报告 一.Linux C 网络编程知识介绍: 网络程序和普通的程序有一个最大的区别是网络程序是由两个部分组成的--客户端和服务器端. 客户端:(client) 在网络程序中,如果一个程序主动和外面的程序通信,那么我们把这个程序称为客户端程  序.比如我们使用ftp程序从另外一个地方获取文件的时候,是我们的ftp程序主动同外面进行通信(获取文件),所以这个地方我们的ftp程序就是客户端程序. 服务端:(server) 和客户端相对应的程序即为服务端程序.被动的等待外面的程…
ACSII 动画演示:   不过本文介绍的是另一个作品:c 代码实现雅虎 logo ACSII 动图. 运行后,你将会看到:   它是一个 20fps.抗锯齿的 Yahoo! logo ASCII 动画.. 我鼓励大家研究一下代码中的常量:        S+=V+=(1-S)/10-V/4 是该动画的欠阻尼控制系统--S 是缩放(=1/缩放倍数).V 是速度.1/10 和 1/4 是PD常量.在第一帧中 S=0 相当于无穷放大.S<0 是非法的.        F 是帧数计数器.1.16 控制…
http://www.1987.name/141.html shell基础 终端打印.算术运算.经常使用变量 Linux下搜索指定文件夹下特定字符串并高亮显示匹配关键词 从键盘或文件里获取标准输入 [read命令] 文件的描写叙述符和重定向 数组.关联数组和别名使用 函数的定义.运行.传參和递归函数 条件測试操作与流程控制语句 获取时间日期格式和延时 [date.sleep命令] 内部字段分隔符IFS和脚本的调试DEBUG 显示.读取或拼接文件内容 [cat命令] 文件查找与打印文件列表 [fi…
1.查看用户最近登录情况 lastlastlog 2.查看硬盘使用情况 df 3.查看文件大小 du 4.查看内存使用情况 free 5.查看文件系统 /proc 6.查看日志 ls /var/log/ 7.查看系统报错日志 tail /var/log/messages 8.查看进程 top 9.结束进程 kill 1234kill -9 4333…
1. Perl中变量的常用表示  ${var} 相当于 $var  $Dog::days  在Dog包里面的变量$days  $#days  @days 的最后一个索引  ]  $days 引用的数组的的第3个元素  ][]  多维数组  }{'Feb'}  多维哈希  ,"Feb"}  多维哈希仿真 emulation  ,,]  数组@days的对应3个元素的片段,也可写作 ..]  @days{'Jan','Feb'}  包含 $days{'Jan'} 和 $days{'Feb'…
1. 使用反引号可以调用外部程序并返回程序的输出, 如  $cwd = `pwd`; 2. Perl 中的变量类型之间的区别主要是单数和复数; 单数变量称为标量 $scalar , 复数变量称为数组 @array .   Perl中还有 Hash, Handle, typeglob 和引用 等一些变量类型.  Perl中的标量可以使用 = 赋值, 可以指向其他变量或对象等等复杂数据结构的引用. 3.Perl中的引用 $ary = \@myarray; # 引用一个命名数组 $hsh = \%my…
1. fork 创建新进程 fork创建的新进程称为子进程,fork函数调用一次,返回两次. 两次返回的唯一区别就是子进程的返回值是0,而父进程的返回值是新子进程的进程ID 在fork之后是父进程先执行还是子进程先执行是不确定的,这取决于内核的调度算法   fork的一个特性就是父进程的所有打开文件描述符都被复制到子进程中,父子进程的每个相同的打开描述符共享一个文件表项   在fork之后处理文件描述符有两种常见情况: (1)父进程等待子进程完成.在这种情况下,父进程无需对其描述符做任何处理,因…