Linux下怎么查看某个守护进程或者所有的守护进程?
查看守候进程的命令可以使用ps完成。
进程一般分为交互进程、批处理进程和守护进程(daemons)三类。
值得一提的是守护进程总是活跃的,一般在后台运行,守护进程一般由系统在开机时通过脚本自动激活启动或由超级管理用户root来启动。
比如在Fedora或Redhat中,我们可以定义httpd服务器的启动脚本的运行级别,此文件位于/etc/init.d目录下,文件名是httpd,/etc/init.d/httpd 就是httpd服务器的守护程序,当把它的运行级别设置为3和5时,当系统启动时,它会跟着启动。
[root@localhost ~]# chkconfig --level 35 httpd on 由于守护进程是一直运行着的,所以它所处的状态是等待请求处理任务。
例如通常大网站的Apache服务器都在运行,等待着用户来访问,也就是等待着任务处理。
Linux服务器在启动时需要启动很多系统服务,它们向本地和网络用户提供了Linux的系统功能接口,直接面向应用程序和用户。
提供这些服务的程序是由运行在后台的守护进程来执行的。
守护进程是生存期长的一种进程。
它们独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件。
它们常常在系统引导装入时启动,在系统关闭时终止。
Linux系统有很多守护进程,大多数服务器都是用守护进程实现的。
同时,守护进程完成许多系统任务,比如,作业规划进程crond、打印进程lqd等。
有些书籍和资料也把守护进程称为"服务"。
选择运行哪些守护进程,要根据具体需求决定。
查看系统可以提供的守护进程对应的服务,打开一个终端以root权限运行ntsysv命令。
1Linux守护进程的编程方法都有哪些?
在linux或者unix操作系统中在系统引导的时候会开启很多服务,这些服务就叫做守护进程。
为了增加灵活性,root可以选择系统开启的模式,这些模式叫做运行级别,每一种运行级别以一定的方式配置系统。
守护进程是脱离于终端并且在后台运行的进程。
守护进程脱离于终端是为了避免进程在执行过程中的信息在任何终端上显示并且进程也不会被任何终端所产生的终端信息所打断。
最常见Linux守护进程有哪些?
00个最常见Linux守护进程简介 1.alsasound:Alsa声卡驱动守护程序。
Alsa声卡驱动程序本来是为了一种声卡Gravis UltraSound(GUS)而写的,该程序被证明很优秀,于是作者就开始为一般的声卡写驱动程序。
Alsa和OSS/Free及OSS/Linux兼容,但是有自己的接口,甚至比OSS优秀。
2.acpid:acpid(Advanced Configuration and Power Interface)是为替代传统的APM电源管理标准而推出的新型电源管理标准。
通常笔记本电脑需要启动电源进行管理。
3.atalk:AppleTalk网络守护进程。
注意不要在后台运行该程序,该程序的数据结构必须在运行其他进程前先花一定时间初始化。
4.amd:自动安装NFS守护进程。
5.anacron:一个自动化运行任务守护进程。
Red Hat Linux随带四个自动化任务的工具:cron、anacron、at和batc。
当你的Linux服务器并不是全天运行时,这个anacron就可以帮你执行在"crontab"设定的时间内没有执行的工作。
6.apmd:apmd(Advanced Power Management)是高级电源管理。
传统的电源管理标准,对于笔记本电脑比较有用,可以了解系统的电池电量信息。
并将相关信息通过syslogd写入日志。
也可以用来在电源不足时关机。
7.arptables_jf:为arptables网络的用户控制过滤的守护进程。
8.arpwatch:记录日志并构建一个在LAN接口上看到的以太网地址和IP地址对数据库。
9.atd:at和batch命令守护进程,用户用at命令调度的任务。
batch用于在系统负荷比较低时运行批处理任务。
10.autofs:自动安装管理进程automount,与NFS相关,依赖于NIS服务器。
11.bootparamd:引导参数服务器,为LAN上的无盘工作站提供引导所需的相关信息。
12.bluetooch:蓝牙服务器守护进程。
13.crond:cron是UNIX下的一个传统程序,该程序周期性地运行用户调度的任务。
比起传统的UNIX版本,Linux版本添加了不少属性,而且更安全,配置更简单。
类似于计划任务。
14.chargen:使用tcp协议的chargen server,chargen(Character Generator Protocol)是一种网络服务,主要功能是提供类似于远程打字的功能。
15.chargen-udp:使用UDP协议的chargen server。
16.cpuspeed:监测系统空闲百分比,降低或加快CPU时钟速度和电压,从而在系统空闲时将能源消耗降为最小,而在系统繁忙时最大化加快系统执行速度。
17.dhcpd:动态主机控制协议(Dynamic Host Control Protocol)的服务守护进程。
18.cups:cups(Common UNIX Printing System)是通用UNIX打印守护进程,为Linux提供第三代打印功能。
19.cups-config-daemons:cups打印系统切换守护进程。
20.cups-lpd:cups行打印守护进程。
21.daytime:使用TCP协议的Daytime守护进程,该协议为客户机实现从远程服务器获取日期和时间的功能。
预设端口:13。
22.daytime-udp:使用UDP协议的Daytime守护进程。
23.dc_server:使用SSL安全套接字的代理服务器守护进程。
24.dc_client:使用SSL安全套接字的客户端守护进程。
25.diskdump:服务器磁盘备份守护进程。
26.echo:服务器回显客户数据服务守护进程。
27.echo-udp:使用UDP协议的服务器回显客户数据服务守护进程。
28.eklogin:接受rlogin会话鉴证和用kerberos5加密的一种服务的守护进程。
29.gated:网关路由守护进程。
它支持各种路由协议,包括RIP版本1和 2、DCN HELLO协议、OSPF版本2,以及EGP版本2到4。
30.gpm:gpm(General Purpose Mouse Daemon)守护进程为文本模式下的Linux程序如mc(Midnight Commander)提供了鼠标的支持。
它也支持控制台下鼠标的复制、粘贴操作,以及弹出式菜单。
31.gssftp:使用kerberos 5认证的FTP守护进程。
32.httpd:Web服务器Apache守护进程,可用来提供HTML文件及CGI动态内容服务。
33.inetd:因特网操作守护程序。
监控网络对各种它管理的服务的需求,并在必要的时候启动相应的服务程序。
在Redhat和Mandrake linux中被xinetd代替。
Debian,Slackware,SuSE仍然使用。
34.innd:Usenet新闻服务器守护进程。
35.iiim:中文输入法服务器守护进程。
36.iptables:iptables防火墙守护进程。
37.irda:红外端口守护进程。
38.isdn:isdn启动和中止服务守护进程。
39.krb5-telnet:使用kerberos 5认证的Telnet守护进程。
40.klogin:远程登录守护进程。
41.keytable:该进程的功能是转载在/etc/sysconfig/keyboards里定义的键盘映射表,该表可以通过kbdconfig工具进行选择。
你应该使该程序处于激活状态。
42.irqbalance:对多个系统处理器环境下的系统中断请求进行负载平衡的守护程序。
如果你只安装了一个CPU,就不需要加载这个守护程序。
43.kshell:kshell守护进程。
44.kudzu:硬件自动检测程序,会自动检测硬件是否发生变动,并相应进行硬件的添加、删除工作。
当系统启动时,kudzu会对当前的硬件进行检测,并且和存储在 /etc/sysconfig/hwconf中的硬件信息进行对照,如果某个硬件从系统中被添加或者删除时,那么kudzu就会察觉到,并且通知用户是否进行相关配置,然后修改etc/sysconfig/hwconf,使硬件资料与系统保持同步。
如果/etc/sysconfig/hwconf这个文件不存在,那么kudzu将会从/etc/modprobe.conf,...
如何以守护进程在linux系统下执行
编写守护进程程序的要点:(1)让程序在后台执行。
方法是调用fork()产生一个子进程,然后使父进程退出。
(2)调用setsid()创建一个新对话期。
控制终端、登录会话和进程组通常是从父进程继承下来的,守护进程要摆脱它们,不受它们的影响,方法是调用setsid()使进程成为一个会话组长。
setsid()调用成功后,进程成为新的会话组长和进程组长,并与原来的登录会话、进程组和控制终端脱离。
(3)禁止进程重新打开控制终端。
经过以上步骤,进程已经成为一个无终端的会话组长,但是它可以重新申请打开一个终端。
为了避免这种情况发生,可以通过使进程不再是会话组长来实现。
再一次通过fork()创建新的子进程,使调用fork的进程退出。
(4)关闭不再需要的文件描述符。
子进程从父进程继承打开的文件描述符。
如不关闭,将会浪费系统资源,造成进程所在的文件系统无法卸下以及引起无法预料的错误。
首先获得最高文件描述符值,然后用一个循环程序,关闭0到最高文件描述符值的所有文件描述符。
(5)将当前目录更改为根目录。
(6)子进程从父进程继承的文件创建屏蔽字可能会拒绝某些许可权。
为防止这一点,使用unmask(0)将屏蔽字清零。
(7)处理SIGCHLD信号。
对于服务器进程,在请求到来时往往生成子进程处理请求。
如果父进程不等待子进程结束,子进程将成为僵尸进程(zombie),从而占用系统资源。
如果父进程等待子进程结束,将增加父进程的负担,影响服务器进程的并发性能。
在Linux下可以简单地将SIGCHLD信号的操作设为SIG_IGN。
这样,子进程结束时不会产生僵尸进程。
...
linux守护进程daemon是怎样的?
Daemon程序简介 Daemon是长时间运行的进程,通常在系统启动后就运行,在系统关闭时才结束。
一般说Daemon程序在后台运行,是因为它没有控制终端,无法和前台的用户交互。
Daemon程序一般都作为服务程序使用,等待客户端程序与它通信。
我们也把运行的Daemon程序称作守护进程。
比如,我们的网络服务程序,可以在完成创建套接口,绑定套接口,设置套接口为监听模式后,变成守护进程进入后台执行而不占用控制终端,这是网络服务程序的常用模式。
UNIX下的网络服务程序,如Web Server,FTP,Telnet一般都是由守护进程(Daemon)来实现的。
守护进程不占用终端,在后台运行。
UNIX的守护进程一般都命名为 *d 的形式,如httpd,telnetd等等。
守护进程一旦脱离了终端,退出就成了问题。
使用 ps axj 查出进程ID然后 kill ID 之。
Daemon程序编写规则 编写Daemon程序有一些基本的规则,以避免不必要的麻烦。
1、首先是程序运行后调用fork,并让父进程退出。
子进程获得一个新的进程ID,但继承了父进程的进程组ID。
2、调用setsid创建一个新的session,使自己成为新session和新进程组的leader,并使进程没有控制终端(tty)。
3、改变当前工作目录至根目录,以免影响可加载文件系统。
或者也可以改变到某些特定的目录。
4、设置文件创建mask为0,避免创建文件时权限的影响。
5、关闭不需要的打开文件描述符。
因为Daemon程序在后台执行,不需要于终端交互,通常就关闭STDIN、STDOUT和STDERR。
其它根据实际情况处理。
另一个问题是Daemon程序不能和终端交互,也就无法使用printf方法输出信息了。
另一个问题是Daemon程序不能和终端交互,也就无法使用printf方法输出信息了。
我们可以使用syslog机制来实现信息的输出,方便程序的调试。
下面是一个daemon程序的例子:(daemontest.c) view plaincopy to clipboardprint? 1. #include 2. #include 3. #include 4. #include 5. #include 6. #include 7. #include 8. int daemon_init(void) 9. { 10. pid_t pid; 11. if((pid = fork()) 让wine程序显示的字块不再模糊 Unix利用转义和引用来管理元字符 Gentoo中如何安装不稳定的软件包
Linux服务器的两种守护进程是怎么样的呢?
1.stand-alone模式 stand-alone方式是Unix传统的C/S模式的访问模式。
服务器监听(Listen)在一个特点的端口上等待客户端的联机。
如果客户端产生一个连接请求,守护进程就创建(Fork)一个子服务器响应这个连接,而主服务器继续监听,以保持多个子服务器池等待下一个客户端请求。
工作在stand-alone模式下的网络服务有route、gated.大家比较熟悉的Web服务器是Apache和邮件服务器Sendmail.在Apache这种负载很大的服务器上,预先创子服务器可以提高客户的服务速度。
在Linux系统中通过stand-alone工作模式启动的服务由/etc/rc.d/下面对应的运行级别当中的符号链接启动。
2.xinetd模式 从守护进程的概念可以看出,对于系统所要通过的每一种服务都必须运行一个监听某个端口连接所发生的守护进程,这通常意味着资源浪费。
为了解决这个问题,Linux引进了“网络守护进程服务程序”的概念。
Linux 下的守护进程是怎么保证它一直运行的
Ubuntu系统使用源从7.10升级到8.04后,启动并在用户登录后,界面无响应5分钟左右后,弹出出错信息: 启动GNOME设置守护进程时出错 主题、声音或者背景设置等可能不会正常工作。
最后的错误信息是: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken. GNOME在您下次登录时仍将试图重启动设置守护进程 解决方法: 在启动至将要登陆到用户桌面时, 按Ctrl + Alt + F1 进入命令行模式,作如下修改: sudo vim /etc/network/interfaces auto lo iface lo inet loopback auto eth0 iface eth0 inet dhcp 注意“eth0”最后一个字为零,而非英文字母“欧”,完成键盘输入后,按ESC,输入: wq! 保存并退出文件的修改,使用如下命令重新启动网络服务: sudo /etc/init.d/networking restart
转载请注明出处51数据库 » linux下进程守护软件
梦落九天之外