随笔分类 - Linux
摘要:http://blog.csdn.net/mu0206mu/article/details/18980913clearerr(清除文件流的错误旗标)相关函数 feof表头文件 #include定义函数 void clearerr(FILE * stream);函数说明 clearerr()清除参数stream指定的文件流所使用的错误旗标。返回值 fclose(关闭文件)相关函数 close,fflush,fopen,setbuf表头文件 #include定义函数 int fclose(FILE * stream);函数说明 fclose()用来关闭先前fopen()打开的文件。此动作会让缓冲区
阅读全文
摘要:http://blog.csdn.net/mu0206mu/article/details/7348618◆运行状态(TASK_RUNNING)当进程正在被CPU执行,或已经准备就绪随时可由调度程序执行,则称该进程为处于运行状态(running)。进程可以在内核态运行,也可以在用户态运行。当系统资源已经可用时,进程就被唤醒而进入准备运行状态,该状态称为就绪态。这些状态(图中中间一列)在内核中表示方法相同,都被成为处于TASK_RUNNING状态。◆可中断睡眠状态(TASK_INTERRUPTIBLE)当进程处于可中断等待状态时,系统不会调度该进程执行。当系统产生一个中断或者释放了进程正在等待的
阅读全文
摘要:From : http://blog.csdn.net/mu0206mu/article/details/17732857-----------------------------------------华丽分割线--------------------------.tar.gz 解压:tarzxvf FileName.tar.gz 压缩:tarzcvf FileName.tar.gz dirNamesolaris下解压 *.tar.gz可能有些不同,按照以下两步实现解压:1、gzip -d *.tar.gz2、tar xvf *.tar第一步,先把*.tar.gz格式解压成*.tar格式第二
阅读全文
摘要:http://www.nowamagic.net/librarys/veda/detail/2386我们知道,计算机中有很多概念并不容易理解,有些时候一个好的比喻能胜过很多句解释。下面两个是我看到的两个很精彩的比喻,拿出来和大家分享一下。吞吐量和延迟第一比喻是关于吞吐量(throughput)和延迟(latency)的。如果你要搞网络性能优化,这两个概念是你必须要知道的,它们看似简单实则不是。我相信包括我在内的很多人都曾经认为大的吞吐量就意味着低延迟,高延迟就意味着吞吐量变小。下面的比喻可以解释这种观点根本不对。该比喻来自这里,我来做个大体意译(非逐字翻译)。我们可以把网络发送数据包比喻成去街
阅读全文
摘要:http://blog.csdn.net/ruglcc/article/details/79210811.什么是C&C++的标准库?C语言被发明出来时并没有什么库函数,随着C语言的流行,越来越多的厂商或者机构组织开始提供C的编译器,并且同时把经常用到的函数封装成“库”的形式发布;不同的组织发布的库函数的接口和数量各不相同。后来,标准化组织ANSI制定了C语言的标准,同时也制定了一定数量的库(或库函数),就就成为标准库函数。(后来这个ANSI C标准上升为ISO标准,但是内容并没有变化!谁让美国是老大来着,而且C的源产地就是美国)。C不具有面向对象的特点,对C语言扩充后就产生了C++语言;当然,
阅读全文
摘要:http://blog.csdn.net/ruglcc/article/details/7876146Linux Signal (1): 基本概念1. 信号是软件中断:信号提供了一种处理异步事件的方法. 每个信号都有一个名字, 他们以SIG开头, 如SIGALRM是闹钟信号, 当由alarm函数设置的计时器超时后产生此信号, 然后由SIGALRM的信号处理函数接管处理, 处理之后返回调用alarm函数的应用程序中.2. 信号编号:在头文件<signal.h>中, 信号都用宏定义为正整数的信号编号, 不存在编号为0的信号, kill函数对编号为0的信号有特殊的作用. POSIX.1将
阅读全文
摘要:http://blog.csdn.net/ruglcc/article/details/7874076zieckey(zieckey@yahoo.com.cn) 线程(thread)技术早在60年代就被提出,但真正应用多线程到操作系统中去,是在80年代中期,solaris是这方面的佼佼者。传统的Unix也支持线程的概念,但是在一个进程(process)中只允许有一个线程,这样多线程就意味着多进程。现在,多线程技术已经被许多操作系统所支持,包括Windows/NT,当然,也包括Linux。 为什么有了进程的概念后,还要再引入线程呢?使用多线程到底有哪些好处?什么的系统应该选用多线程?我们首先必.
阅读全文
摘要:自从Ubuntu采用了LightGdm之后,登录选项里就没了other用户选项所以这里介绍的方法只是一个这种的方法,安装以前的GDM。第一步:设置ROOT用户密码。sudo passwd root按照提示输入两次密码就可以了。第二步:安装GDMsudo apt-get install gdm安装完成之后会自动跳出下面画面,如果没有跳出,输入命令:sudodpkg-reconfigure gdm 即可,选择gdm然后重启就可以用root用户登录了。注意,是重启,不是注销。很明显,这里已经可以看到other了,点击other,用刚才设置的root和root密码登录即可。注意:有的朋友反映,按照上面
阅读全文
摘要:http://blog.csdn.net/ruglcc/article/details/78020771、查看主机名在Ubuntu系统中,快速查看主机名有多种方法:其一,打开一个GNOME终端窗口,在命令提示符中可以看到主机名,主机名通常位于“@”符号后;其二,在终端窗口中输入命令:hostname或uname –n,均可以查看到当前主机的主机名。2、临时修改主机名命令行下运行命令:“hostname 新主机名”其中“新主机名”可以用任何合法字符串来表示。不过采用这种方式,新主机名并不保存在系统中,重启系统后主机名将恢复为原先的主机名称。例子:hostname ubuntu-temp这样主机名
阅读全文
摘要:From: http://blog.csdn.net/cutesource/article/details/5635044一、进程控制:fork创建一个新进程clone按指定条件创建子 进程execve运行可执行文件exit中 止进程_exit立即中止当前进程getdtablesize进 程所能打开的最大文件数getpgid获取指定进程组标识号setpgid设 置指定进程组标志号getpgrp获取当前进程组标识号setpgrp设 置当前进程组标志号getpid获取进程标识号getppid获 取父进程标识号getpriority获取调度优先级setpriority设 置调度优先级modify_l
阅读全文
摘要:From:http://blog.csdn.net/flowingflying/article/details/5412711 D-Bus的方式在移动手机操作系统中非常重要,包括Maemo,Moblin等以Linux为基础的操作系统。估计Andriod也大量使用。D-Bus的相关学习资料见:http://www.freedesktop.org/wiki/Software/dbus。 消息通过D-Bus在进程间传递。有四类消息:一、Method call消息:将触发对象的一个method二、Method return消息:触发的方法返回的结果三、Error消息:触发的方法返回一个异常四、Si..
阅读全文
摘要:http://askubuntu.com/questions/55848/how-do-i-install-oracle-java-jdk-7There is a similar question on how to install JRE 7.Install the JDKDownload he 32bit or 64bit Linux "compressed binary file" - it has a ".tar.gz" file extension i.e. "[java-version]-i586.tar.gz" for
阅读全文
摘要:SysVinithttps://wiki.archlinux.org/index.php/SysVinit_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)init是Linux内核加载后执行的第一个进程。Arch的默认的 init 程序是systemd-sysvcompat提供的/sbin/init(新安装的系统已经默认使用systemd) 或sysvinit.。本文中,init指sysvinit。inittab文件位于/etc目录,是init的启动配置文件,其中指定了一些启动脚本、程序的路径,并指定在哪些运行级别执行它们。小贴士:参见man 5 inittab以及
阅读全文
摘要:http://www.ibm.com/developerworks/cn/linux/l-cn-shell-monitoring/index.html
阅读全文
摘要:http://www.ibm.com/developerworks/cn/linux/l-iotips/首先说一下什么是I/O重定向,所谓I/O重定向简单来说就是一个过程,这个过程捕捉一个文件,或者命令,程序,脚本,甚至脚本中的代码块(code block)的输出,然后把捕捉到的输出,作为输入发送给另外一个文件,命令,程序,或者脚本。如果谈到I/O重定向,就涉及到文件标识符(File Descriptor)的概念, 在Linux系统中,系统为每一个打开的文件指定一个文件标识符以便系统对文件进行跟踪,这里有些和C语言编程里的文件句柄相似,文件标识符是一个数字,不同数字代表不同的含义,默认情况下,
阅读全文
摘要:http://learn.akae.cn/media/ch17s05.html硬盘、内存、CPU寄存器,还有本节要讲的Cache,这些都是存储器,计算机为什么要有这么多种存储器呢?这些存储器各自有什么特点?这是本节要讨论的问题。由于硬件技术的限制,我们可以制造出容量很小但很快的存储器,也可以制造出容量很大但很慢的存储器,但不可能两边的好处都占着,不可能制造出访问速度又快容量又大的存储器。因此,现代计算机都把存储器分成若干级,称为Memory Hierarchy,按照离CPU由近到远的顺序依次是CPU寄存器、Cache、内存、硬盘,越靠近CPU的存储器容量越小但访问速度越快,下图给出了各种存储器
阅读全文
摘要:Linux 技巧:让进程在后台可靠运行的几种方法http://www.ibm.com/developerworks/cn/linux/l-cn-nohup/Linux 技巧: 用 cron 和 at 调度作业http://www.ibm.com/developerworks/cn/linux/l-job-scheduling.htmlLinux 技巧: 控制预定作业的持续时间http://www.ibm.com/developerworks/cn/linux/l-job-terminating/linux 技巧:使用 screen 管理你的远程会话http://www.ibm.com/deve
阅读全文
摘要:1.关于某个文件名的『类型』侦测(存在与否),如test -e filename-e该『文件名』是否存在?(常用)-f该『文件名』是否为文件(file)?(常用)-d该『文件名』是否为目录(directory)?(常用)-b该『文件名』是否为一个block device装置?-c该『文件名』是否为一个character device装置?-S该『文件名』是否为一个Socket文件?-p该『文件名』是否为一个FIFO (pipe)文件?-L该『文件名』是否为一个连结档?2.关于文件的权限侦测,如test -r filename-r侦测该文件名是否具有『可读』的属性?-w侦测该文件名是否具有『可写
阅读全文
摘要:init的进程号是1(ps -aux | less),从这一点就能看出,init进程是系统所有进程的起点,Linux在完成核内引导以后,就开始运行init程序。init程序需要读取配置文件/etc/inittab。inittab是一个不可执行的文本文件,它有若干行指令所组成。理解Runlevel: runlevel用来表示在init进程结束之后的系统状态,在系统的硬件中没有固定的信息来表示runlevel,它纯粹是一种软件结构。init和inittab是runlevel影响系统状态的唯一原因。在上述例子中inittab文件起始阶段的注释主用来描述runlevel: Runlevel 0 是..
阅读全文
摘要:http://blog.csdn.net/gxfan/article/details/3173292linux内核地址空间与用户地址空间的差别本文仅限在i386平台下讨论一般情况。1、用户线性地址空间范围0-3G,内核线性空间范围3G-4G。2、内核总是立即满足内核空间的物理内存分配,并且分配结果对所有进程可见;而对于用户空间的内存分配请求,linux总是先保留用户线性地址空间的一段区域,然后修改页表项使这段线性区域都指向一页内容全为0的全局只读物理页。当进程写入这段线性区域时,将会产生一个缺页异常,这时系统才会为对应的线性地址分配物理页面,并且把物理页对应的页表项置为可写。为了保持和全局只读
阅读全文