Linux服务 守护进程介绍


==不要关闭下面这几个服务:acpid, haldaemon, messagebus, klogd, network, syslogd==

在实现自动挂载的功能时,hotplug、udev、messagebus、haldaemon、gaimn几个服务必不可少。

其中,hotplug是核心,当硬件设备接入系统后,首先由hotplug服务检测到并自动配置内核状态,调用添加相关的内核模块。

udev负责动态维护/dev目录,使/dev目录和当前的系统状态保持一致,创建/dev/sdax等设备文档。

messagebus服务负责在各个系统进程之间传递消息。

haldaemon接受由udev通过D-BUS传递来的消息后调fstab-sync修改fstab文档,动态创建/media目录下的子目录作为挂载点。

gamin检测到 fstab 发生变化之后,负责通知桌面系统。桌面系统在 “电脑” 项目中建立驱动器图标。

因此实现自动加载移动存储设备时必须确保上述的几个服务正常启动。通常在进行系统优化时可能会无意中关闭haldaemon服务,这样就会导致无法动态更改/etc/fstab文档,从而导致移动设备接入系统后无法自动识别。此时能够通过mount命令进行手动挂载。

另外,系统启动时假如HAL服务启动显示为失败,很可能是messagebus服务并启动。这时重启messagebus服务之后再重新启动haldaemon

守护进程介绍

  1. NetworkManager, NetworkManagerDispatcher > NetworkManager 是一个自动切换网络连接的后台进程。很多笔记本用户都需要启用该功能,它让你能够在无线网络和有线网络之间切换。大多数台式机用户应该关闭该服务。一些 DHCP 用户可能需要开启它。
  2. acpid > 配置文件:/proc/acpi/event 说明:Advanced Configuration and Power Interface,为替代传统的APM电源管理标准而推出的新型电源管理标准。建议所有的笔记本用户开启它。一些服务器可能不需要 acpi。支持的通用操作有:“电源开关“,”电池监视“,”笔记本 Lid 开关“,“笔记本显示屏亮度“,“休眠”, “挂机”,等等。
  3. anacron > 配置文件:/etc/anacrontab 说明:一个自动化运行任务。Red Hat Linux 附带有四个自动化任务的工具:cron、 anacron、at、和 batch。当你的Linux主机并不是全天候开机,这个anacron就可以帮你执行在"crontab"设定的时间内没有执行的工作。举例来说,当你的主机在晚上12:00会自动关闭,但是偏偏crontab这个例行性工作是在4:00工作,这个时候例行性工作就不能起作用了。不过利用anacron就能做到。 是否需要启动:如果主机已经24小时开机,而且运行了cron,那么这个守护程序就不需要启动了。 anacron, atd, cron这几个调度程序有很小的差别。 建议开启 cron,如果你的电脑将长时间运行,那就更应该开启它。对于服务器,应该更深入了解以确定应该开启哪个调度程序。大多数情况下,笔记本/台式机应该关闭 atd 和 anacron。注意:一些任务的执行需要 anacron,比如:清理 /tmp 或 /var。
  4. apmd > 配置文件:/etc/sysconfig/apmd 说明:Advanced Power Management,高级电源管理。传统的电源管理标准。一般系统都会同时支持APM和APMD两种标志,但系统加载时只需加载一个即可。对于笔记本电脑比较有用,可以了解系统的"电池电量"。 是否需要启动:如果我们使用的是台式电脑或一直开机的机型,就不需要使用这个守护程序。
  5. atd > 配置文件:/etc/at.allow,/etc/at.deny 说明:一个自动化运行任务。 是否需要启动:通常需要启动。不过如果你一直使用cron,那么也可以不启动。
  6. autofs > 配置文件:/etc/sysconfig/autofs 说明:实现光盘、软盘、U盘等移动存储介质的自动加载。 是否需要启动:一般不需要启动。
  7. avahi-daemon, avahi-dnsconfd > 说明:Avahi 是 zeroconf 协议的实现。它可以在没有 DNS 服务的局域网里发现基于 zeroconf 协议的设备和服务。它跟mDNS 一样。除非你有兼容的设备或使用 zeroconf 协议的服务,否则应该关闭它。
  8. bluetooth, hcid, hidd, sdpd, dund, pand > 说明:蓝牙(Bluetooth)是给无线便携设备使用的(非 wifi, 802.11)。很多笔记本提供蓝牙支持。有蓝牙鼠标,蓝牙耳机和支持蓝牙的手机。如果没有蓝牙设备或蓝牙相关的服务,就应该关闭它。其他蓝牙相关的服务有:hcid 管理所有可见的蓝牙设备,hidd 对输入设备(键盘,鼠标)提供支持, dund 支持通过蓝牙拨号连接网络,pand 允许你通过蓝牙连接以太网。
  9. capi,isdn > 说明:仅仅对使用 ISDN 设备的用户有用。大多数用户应该关闭它。
  10. cpuspeed > 说明:监测系统空闲百分比,降低或加快CPU时钟速度和电压从而在系统空闲时将能源消耗降为最小,而在系统繁忙时最大化加快系统执行速度。 是否需要启动:需要启动。
  11. crond > 配置文件:/etc/crontab 说明:用来执行例行性命令的守护程序。 是否需要启动:必须启动。
  12. cups,cups-config-daemon > 配置文件: CUPS服务器配置文件:/etc/cups/cupsd.conf CUPS客户端配置文件:/etc/cups/client.conf CUPS打印机配置文件:/etc/cups/printers.conf CUPS中类(class)配置文件:/etc/cups/classes.conf 说明:Common UNIX Printing System,公共UNIX打印支持,为Linux提供打印功能。 是否需要启动:如果不安装打印机,就不需要启动。
  13. cups-lpd > 说明:CUPS Line Printer Daemon ("LPD"),提供打印功能。 是否需要启动:如果不安装打印机,就不需要启动。
  14. dcclient, dcserver > 说明:磁盘缓存(Distcache)用于分布式的会话缓存。主要用在 SSL/TLS 服务器。它可以被 Apache 使用。大多数的台式机应该关闭它。
  15. dhcdbd > 说明:这是一个让 DBUS 系统控制 DHCP 的接口。可以保留默认的关闭状态。
  16. diskdump, netdump > 说明:磁盘转储(Diskdump)用来帮助调试内核崩溃。内核崩溃后它将保存一个 dump文件以供分析之用。网络转储(Netdump)的功能跟Diskdump 差不多,只不过它可以通过网络来存储。除非你在诊断内核相关的问题,否则它们应该被关闭。
  17. dund > 说明:支持通过蓝牙拨号来连接网络。如果没有蓝牙设备,就关闭它。
  18. firstboot > 说明:该服务是 Fedora 安装过程特有的。它执行在安装之后的第一次启动时仅仅需要执行一次的特定任务。它可以被关闭。
  19. gpm > 配置文件:/etc/sysconfig/mouse 说明:General Purpose Mouse Daemon ,gpm为文本模式下的Linux程序如mc(Midnight Commander)提供了鼠标的支持。它也支持控制台下鼠标的拷贝,粘贴操作以及弹出式菜单。一般在级别3下启用,5下关闭。
  20. hcid > 说明:用来管理所有可见的蓝牙设备。如果没有蓝牙设备,就关闭它。
  21. hidd > 说明:对输入设备(键盘,鼠标)提供支持。
  22. iptables > 配置文件:/etc/sysconfig/iptabels 说明:该服务是用于IPv4的软件防火墙。应该开启它。
  23. ip6tables > 说明:该服务是用于 IPv6 的软件防火墙。大多数用户都应该关闭它。
  24. irda > 说明:Infrared Data Association,是一个实现红外无线数据传输的工业标准。
  25. irqbalance > 说明:对多个系统处理器环境下的系统中断请求进行负载平衡的守护程序。 是否需要启动:如果你只安装了一个CPU,就不需要加载这个守护程序。
  26. kudzu > 配置文件: /etc/sysconfig/hwconf /etc/sysconfig/kudzu 说明:硬件自动检测程序,会自动检测硬件是否发生变动,并相应地进行硬件的添加、删除工作。当系统启动时,kudzu会对当前的硬件进行检测,并且和存储在/etc/sysconfig/hwconf中的硬件信息进行一一对照,如果某个硬件从系统中被添加或者删除时,那么kudzu就会察觉到,并且通知用户是否进行相关配置,然后修改/etc/sysconfig/hwconf,使硬件资料与系统保持同步。如果/etc/sysconfig/hwconf这个文件不存在,那么kudzu将会从/etc/modprobe.conf,/etc/sysconfig/network-scripts/和/etc/X11/XF86Config中探测已经存在的硬件。 是否需要启动:如果启动kudzu,则每次启动系统,都会检查新硬件(checking new hardware),会延长系统启动的时间。如果你不打算增加新硬件,那么就可以关闭这个启动服务,以加快系统启动时间。
  27. mcstrans > 说明:如果你使用 SELinux 就开启它。默认情况下Fedora Core 开启 SELinux。
  28. mdmonitor > 说明:该服务用来监测 Software RAID 或 LVM 的信息。与RAID设备相关的守护程序。
  29. mdmpd > 说明:该服务用来监测 Multi-Path 设备(该类型的存储设备能被一种以上的控制器或方法访问)。与RAID设备相关的守护程序。
  30. messagebus > 说明:这是 Linux 的 IPC(Interprocess Communication,进程间通讯)服务。确切地说,它与DBUS 交互,为两个或两个以上的应用程序提供一对一的通讯。是重要的系统服务。强烈建议开启它。
  31. microcode_ctl > 说明:可以编码以及发送新的微代码到kernel以更新Intel IA32系列处理器(Pentium Pro,PII,PIII,Pentium 4,Celeron, Xeon 等等 - 全部 P6 以及更高,不包括 pentium classics)。
  32. netdump > 说明:网络转储(Netdump)的功能跟Diskdump 差不多,只不过它可以通过网络来存储。除非你在诊断内核相关的问题,否则它们应该被关闭。
  33. netfs > 说明:Network Filesystem Mounter,该服务用于在系统启动时自动挂载网络中的共享文件空间,比如:NFS,Samba 等等。安装和卸载NFS、SAMBA和NCP网络文件系统。
  34. netplugd > 配置文件: /etc/netplug/netplugd.conf /etc/netplug.d/netplug 说明:network cable hotplug management daemon,netplugd是一个守护程序,可以监控一个或多个网络接口的状态,当某些事件触发时运行一个外部脚本程序。建议保留它的默认关闭状态。
  35. network > 说明:在系统启动时激活所有的网络接口。
  36. nfs > 说明:网络文件系统。
  37. nfslock > 说明:NFS是一个流行的通过TCP/IP网络共享文件的协议,此服务提供了NFS文件锁定功能。
  38. pcmcia > 说明:Pcmcia卡,支持笔记本电脑的PCMCIA 设备,如调制解调器, 网络适配器, SCSI卡等等。
  39. pcscd > 说明:该服务提供智能卡(和嵌入在信用卡,识别卡里的小芯片一样大小)和智能卡读卡器支持。如果你没有读卡器设备,就关闭它。
  40. portmap > 说明:Portmap守护程序为RPC服务,该服务是 NFS(文件共享)和 NIS(验证)的补充。除非你使用 NFS 或 NIS 服务,否则关闭它。
  41. psacct > 说明:包括几个工具用来监控进程活动的工具,包括ac,lastcomm, accton 和sa。
  42. random > 说明:快速的将系统的状态在随机的时间内存到镜象档案中,对于系统相当重要。因为在开机之后,系统会迅速的恢复到开机之前的状态。必须启动。
  43. readaheadearly、readaheadlater > 说明:这两个进程的作用是在启动系统期间,将启动系统所要用到的文件首先读取到内存中,然后在内存中进行执行,以加快系统的启动速度。而上面两个配置文件就保存着将要读取到内存的文件列表。
  44. restorecond > 说明:用于给 SELinux 监测和重新加载正确的文件上下文(file contexts)。它不是必须的,但如果你使用 SELinux 的话强烈建议开启它。
  45. rpcgssd, rpcidmapd, rpcsvcgssd > 说明:用于 NFS v4。除非你需要或使用NFS v4,否则关闭它。
  46. rhnsd > 说明:Red Hat 网络服务。通知你有关官方的安全信息以及为你的系统打补丁。
  47. rsync > 说明:remote sync,远程数据备份工具。
  48. saslauthd > 说明:使用SASL的认证守护程序。
  49. sgi-fam > 说明:实现实时数据镜像。监控文件的变更,提供一个应用程序API接口用来当指定的文件或目录改变时及时通知。
  50. smartd > 说明:Self Monitor Analysis and Reporting Technology System,监控你的硬盘是否出现故障。 SMART Disk Monitoring 服务用于监测并预测磁盘失败或磁盘问题(前提:磁盘必须支持 SMART)。大多数的桌面用户不需要该服务,但建议开启它,特别是服务器。
  51. syslog > 配置文件:/etc/syslog.conf 说明:记录所有的系统行为。
  52. time > 说明:从远程主机获取时间和日期,采用TCP协议。
  53. time-udp > 说明:从远程主机获取时间和日期,采用UDP协议。
  54. vncserver > 说明:VNC (Virtual Network Computing,虚拟网络计算),它提供了一种在本地系统上显示远程计算机整个"桌面"的轻量型协议。
  55. xfs > 预设端口:TCP 7100 说明:x font server,X Window字型服务器,为本地和远程X服务器提供字型集。 是否需要启动:如果使用run-level为5的图形界面,那么就需要启动。
  56. xinetd > 配置文件:/etc/xinetd.conf 说明:xinetd作为inetd的后续版本,负责管理系统中不频繁使用的服务,这些服务程序在有请求时才由xinetd服务负责启动运行,一旦完成服务请求服务程序结束运行,这样可以有效地减少对系统资源的占用率。通常,xinetd管理的程序有telnet、ftp、rsh和rlogin。关闭 xinetd也就关闭了这些由它管理的服务。 是否需要启动:必须启动。
  57. yum > 配置文件:/etc/yum.conf 说明:Yellow Dog UpdaterModified,是一个自动更新、安装和删除RPM软件包的管理程序,它会自动计算软件包的管理程序,并判断哪些软件应该安装,哪些软件则不必安装。 是否需要启动:以系统管理策略而决定是否启动。
  58. ntpd > 该服务通过互联网自动更新系统时间。如果你能永久保持互联网连接,建议开启它,但不是必须的。
  59. setroubleshoot > SELinux Troubleshooting,不用SELinux的可以关了
  60. winbind > samba名称服务器,不用可以关了它
  61. wpa_supplicant > 无线设备的支持,不用关了
  62. xend > 这个守护进程控制虚拟化资源,而且xend必须与虚拟机进行交互,关了它。

    介绍udevd, hald, dbusd的关系

如果应用程序使用了libdbus就能够接收到来自内核的有关硬件热插拔的通知,比如U盘的插入和拔出。其中经过了怎样的过程呢。
1. udev通过NetLink注册内核的设备事件,当有设备插入/拔除时,udev就会收到通知,它会从事件中所带参数和sysfs中的信息,加载适当的驱动程序(也可以通过hald去运行应用程序让用户选择可用的驱动),创建dev下的结点,让设备处于可用的状态。
2. dev把设备插入/拔除的事件通过socket:/org/freedesktop/hal/udevevent转发给HALD的。
3. HALD挂在socket:/org/freedesktop/hal/udev
event上等待事件,有事件发生时就调用相关函数处理,它先从事件中取出主要参数,创建一个hotplug_event对象,把它放入事件队列中,创建一个设备对象,设置设备的属性,调用相关callouts,然后放入设备列表中,并触发signal让dbus通知相关应用程序。如果是拔除设备,则调用相关callouts,然后从设备列表中删除,并触发signal让 dbus通知相关应用程序。

service avahi-daemon stop
service hplip stop
service cups stop
service cups-config-daemon stop
service dund stop
service hidd stop
service ip6tables stop
service iptables stop
service irda stop
service isdn stop
service mcstrans stop
service netfs stop
service nfs stop
service nfslock stop
service ntpd stop
service pand stop
service pcscd stop
service portmap stop
service restorecond stop
service rpcgssd stop
service rpcidmapd stop
service rpcsvcgssd stop
service winbind stop
service wpa_supplicant stop
service yum-updatesd stop
service capi stop
service sendmail stop
service tog-pegasus stop
chkconfig tog-pegasus off
chkconfig sendmail off
chkconfig hplip off
chkconfig anacron off
chkconfig atd off
chkconfig avahi-daemon off
chkconfig avahi-dnsconfd off
chkconfig bluetooth off
chkconfig cups off
chkconfig cups-config-daemon off
chkconfig dund off
chkconfig hidd off
chkconfig ip6tables off
chkconfig iptables off
chkconfig irda off
chkconfig isdn off
chkconfig mcstrans off
chkconfig netfs off
chkconfig nfs off
chkconfig nfslock off
chkconfig ntpd off
chkconfig pand off
chkconfig pcscd off
chkconfig portmap off
chkconfig restorecond off
chkconfig rpcgssd off
chkconfig rpcidmapd off
chkconfig rpcsvcgssd off
chkconfig winbind off
chkconfig wpa_supplicant off
chkconfig yum-updatesd off
chkconfig capi off