摘要: 如何确保只启动一个守护进程的实例。#!/bin/shWHOAMI=`whoami`PID=`ps -u $WHOAMI | grep abc | awk '{print $1}'`if (test "$PID" = "") then ./abcfi注意:脚本文件的名称不要有‘abc’字样,不然执行p... 阅读全文
posted @ 2015-05-12 00:54 张仕传 阅读(124) 评论(0) 推荐(0) 编辑
摘要: 要和一个守护进程通信,你要向它发送信号,让它以某种方式相应。例如:强行要求一个守护进程重新读取它的配置文件,或者改变守护进程的行为,或者指示守护进程结束运行。使用信号与守护进程通信。守护进程中添加信号捕捉函数void catch_Signal(int Sign){ switch(Sign) { ca... 阅读全文
posted @ 2015-05-12 00:53 张仕传 阅读(270) 评论(0) 推荐(0) 编辑
摘要: 守护进程(daemon)。守护进程是一个后台进程,它无需用户输入就能运行,经常是提供某种服务。Linux做为服务器是,主要的进程也都是为系统或者用户提供后台服务功能。常见的守护进程有Web服务器、邮件服务器以及数据库服务器等等。守护进程不能够控制终端,所以任何输入或者输出都需要做特殊处理。守护进程看... 阅读全文
posted @ 2015-05-12 00:52 张仕传 阅读(1785) 评论(0) 推荐(0) 编辑
摘要: Linux允许任何进程把一个磁盘文件映像到内存中。使用内存映像文件有两个主要优点 –加速文件I/O操作,不同的I/O调用如read或者fputs通过内核缓冲读出或写入数据。虽然Linux具有一种快速而先进的磁盘缓冲算法,但最快的磁盘访问也总是要比最慢的内存访问慢。 –共享数据,如果多个进程要访问... 阅读全文
posted @ 2015-05-12 00:46 张仕传 阅读(680) 评论(0) 推荐(0) 编辑
摘要: 一个进程由于以下5个原因中的一个终止。 –main函数调用了return; –调用了exit函数; –调用了_exit函数; –调用了abort函数; –被一个信号终止。前三个原因都是正常终止,后面两个是非正常终止。无论进程为何终止,最后都执行相同的内核代码,关闭打开的文件,释放内存资源,... 阅读全文
posted @ 2015-05-12 00:42 张仕传 阅读(159) 评论(0) 推荐(0) 编辑
摘要: system系统调用#include int system(const char *string);system函数传递给/bin/sh –c 来执行string所指定的命令。string中可以包含选项和参数。如果没有找到/bin/sh,函数返回127,如果出现其他错误返回-1,成功返回0,但如果s... 阅读全文
posted @ 2015-05-12 00:40 张仕传 阅读(202) 评论(0) 推荐(0) 编辑
摘要: 传统的Linux模型里有三种创建或者修改进程的操作: –system用于调用shell,执行一个指定的命令; –fork用于创建一个新的进程,该进程几乎是当前进程的一个完全拷贝; –exec可以在进程中用另外的程序来替换当前运行的进程;什么是进程?–进程是一个正在执行的程序实例,他也是Linu... 阅读全文
posted @ 2015-05-12 00:36 张仕传 阅读(315) 评论(0) 推荐(0) 编辑
摘要: so文件在linux中为共享库,与windows下的dll类似。so文件中的函数可供多个进程调用,最大可能的提供二进制代码的复用。共享库可以使代码的维护工作大大简化,当修正了一些错误或者添加了新特性的时候,用户只需要获得升级后的so并安装他就可以。注:即使不同的进程调用同一个so文件,通过共享库并不... 阅读全文
posted @ 2015-05-12 00:34 张仕传 阅读(584) 评论(0) 推荐(0) 编辑
摘要: 共享内存是由内核出于在多个进程间交换信息的目的而留出的一块内存区(段)。如果段的权限设置恰当,每个要访问该段内存的进程都可以把它映像到自己的私有地址空间中。如果一个进程更新了段中的数据,其他进程也立即会看到更新。由一个进程创建的段,也可以由另一个进程读写。每个进程都把它自己对共享内存的映像放入自己的... 阅读全文
posted @ 2015-05-12 00:30 张仕传 阅读(320) 评论(0) 推荐(0) 编辑
摘要: 有名管道(FIFO)。有名管道是持久稳定的。它们存在于文件系统中。FIFO比无名管道作用更大,因为它们能让无关联的进程之间交换数据。一个shell命令可以建立有名管道mkfifo [option] namemkfifo创建一个名为name的有名管道mkfifo fifo1。 –创建一个有名管道fi... 阅读全文
posted @ 2015-05-12 00:28 张仕传 阅读(666) 评论(0) 推荐(0) 编辑