当前位置: 首页 > Linux

什么是守护进程和服务

时间:2023-04-06 11:30:38 Linux

什么是守护进程和服务守护进程,有的程序是在bash中执行程序触发的,有的程序是系统开机后在后台执行时触发的。守护进程是一个在台中执行的程序,通常负责系统上的某种服务,让系统接受来自用户或网络客户端的请求。主要几类守护进程是独立启动的,启动后直接驻留在内存中,一直占用系统资源,有请求时会快速响应,比如常见的守护进程httpd。例子:在银行,有一个单一的服务窗口,比如存款窗口,直接到这个窗口,会有专人服务。superdaemonsuperdaemon进程负责通过一个统一的daemon进程来调用服务,这个统一的daemon进程就是inet服务。根据网络请求发送的数据包内容,将数据包发送给实际运行的服务,此时服务会启动,最常见的是ftp网络服务。当没有数据包过来时,服务不会一直占用系统资源,会处于休眠状态,响应时间会比较慢。例:银行有一个复合型窗口,提供充值转账、取款等服务,当你需要其中一项服务时,直接换窗口,坐在窗口的工作人员会直接叫另一个负责人处理你的食物。假设去的人多,就会有很多人排队。那么这种窗口就是“做完一个再处理下一个”,或者说“把所有的单据收集起来一起处理”。多线程收集所有的文件,然后一次性交给窗口工作人员。一个服务同事会在一个线程里负责几个程序,一个接一个。在处理第一个之前,后续的要排队。如果以工作状态来区分守护进程,则可以通过信号对其进行管理,实现两类独立控制。只要有请求,就会立即启动处理,比如打印服务cupsd。间隔控制每隔一段时间主动执行某个工作,需要某个工作点才能工作,比如atd、cron。服务相关的端口信息:/etc/service在Linux系统上,不同的网络服务有不同的监听端口。您可以通过指定指向主机的端口来连接到所需的服务。这些通信协议使用的端口是固定的,并且是公认的标准端口号,在/etc/services中。...rtmp1/ddp#RoutingTableMaintenanceProtocolcpmux1/udp#TCPPortServiceMultiplexertcpmux1/tcp#TCPPortServiceMultiplexer...第一列是守护进程的名字,第二列是守护进程使用的端口守护程序编号及其网络数据报传输类型。主要是上线后传输数据的可靠TCP包,以及较快但不确定的UDP包。daemon的命名规则不管怎样,当服务链接到linux时,通常在服务名后加一个d。比如atd,crond。守护进程的shell脚本放在哪里取决于守护进程是独立启动还是superdaemon。独立启动守护进程放在/etc/init.d中,几乎所有的RPM安装套件启动脚本都在这里。超级守护进程是xinet或inet。xinet也是一个daemon,它是独立启动的,也就是会一直监视需求。挂在这个守护进程中的服务设置项写在/etc/xinetd.conf和/etc/xinetd.d/*目录下的任何文件中。独立守护进程启动。/etc/init.d/syslogstartservicesyslogstartservice是一个程序,基本上,它只是用来启动/etc/init.d/下的shell脚本。服务是用bash脚本中的case语法编写的。如何启动守护进程:服务启动守护进程时,需要找到它的执行文件。各大linux脚本都会设计一个友好的shell脚本来启动服务,就是/etc/init.d/下的文件。/etc/init.d/syslogstart除了上述方法外,还可以通过Fedora(RedHat系统)提供的服务程序来启动daemon进程。服务是一个程序。基本上,它只是用来启动/init.d/下的/etcShell脚本。service[服务名称](start|stop|restart...)其实打开或关闭某个端口就是启动或关闭某个服务。