快速业务通道

Linux进程

作者 佚名技术 来源 Linux系统 浏览 发布时间 2012-04-01

进程属性:  进程标识符

1. 进程标识符 系统把0 和 1保留给系统的两个重要进程. 进程0 是调度进程,它按一定的原则把处理机分配给 进程使用. 进程1 是初始化进程,它是程序/sbin/init的执行.进程1 是unix系统中其它进程的祖 先,并且是进程结构的最终控制者. getpid(); 2. 进程的组标识符 进程最初是通过fork()和exec调用来继承其进程组标识符. 但是, 进程可以使用系统调用setpgrp() 自己形成一个新的组. int setpgrp(); int getpgrp(); <unistd.h> 进程组对于"进程间的通信机构--信号"来说, 是非常有用的. 3. 进程环境 extern char* environ; main(){ char** env = environ; while(*env){ printf("%sn", *env ); } return ; } 4. 进程的当前目录 chdir(); chroot(); 5. 进程的有效标识符 P49 6. 进程的资源 getrlimit(), setrlimit(), getrusage(). 7. 进程的优先级 进程的优先数越大, 其优先权就越低. #include <unistd.h> nice(5); nice(-1); /** * 守护进程 */ 守护进程, 是一种后台运行并且独立于所有终端控制之外的进程. Linux系统通常有许多的守护 进程, 它们执行着各种系统服务和管理的任务. 启动: 1. 在系统期间通过系统的初始化脚本启动守护进程.这些脚本通常在目录etc/rc.d 下. 通过 它们所启动的守护进程具有超级用户的权限.系统的一些基本服务程序通常都是通过这种 方式启动的. 2. 很多网络服务程序是有"inetd"守护程序启动的.在后面的章节中我们还会讲到它.它监听 各种网络请求, 如 telnet, ftp 等,在请求到达时启动相应的服务器程序(telnet server, ftp server等). 3. 由cron定时启动的处理程序.这些程序在运行时实际上也是一个守护进程. 4. 由at启动的处理程序. 5. 守护程序也可以从终端启动,通常这种方式只用于守护进程的测试,或者是重起因某种原因 而停止的进程. 6. 在终端上用nohup启动的进程.用这种方法可以把所有的程序都变为守护进程. 守护进程的建立: #include <sys/types.h> #include <signal.h> #include <unistd.h> #include <syslog.h> #define MAXFD 64 void daemon_init(const char *pname, int facility) { int i; pid_t pid; //1. fork, 终止父进程 if(pid=fork()) exit(0); //2. 第一子进程 setid(); signal(SIGHUP, SIG_IGN); //3. fork, 终止第一子进程 if(pid=fork()) exit(0); //4. 第二子进程 daemon_proc = 1; //5. 将工作目录设定为 / chdir("/"); //6. 清楚文件掩码 umask(0); //7. 关闭所有文件句柄 for( i = 0; i<MAXFD; i ) close(i); //8. 打开log openlog(pname, LOG_PID, facility); }

本文出自 “咖啡时间” 博客,请务必保留此出处http://tuoxie174.blog.51cto.com/1446064/413191

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号