Gestion des services Linux
Répertoire de cet article :
11.1 Concept de service
11.2 Gestion des démons indépendants
11.3 Gestion du démarrage automatique du service au démarrage
11.4 Gestion de xinetd et des démons transitoires associés
11.5 Services de gestion sur CentOS 7
CentOS 7 et CentOS 6 gèrent les services de manière complètement différente. Cet article explique d'abord les méthodes de gestion sur CentOS 6, et répertorie enfin les méthodes de gestion des services sur CentOS 7.
11.1 La notion de service
Le service est un processus qui fournit des services au monde extérieur De manière générale, il sera placé au second plan puisque. il doit continuer à fournir des services au monde extérieur à tout moment. Pour les demandes de service envoyées, le processus de service doit résider dans la mémoire et ne doit pas être lié au terminal. Sinon, le terminal quittera le programme de service à sa sortie. De plus, pour pouvoir recevoir des demandes externes et fournir des services au monde extérieur, vous devez disposer d'une « fenêtre de service » dédiée à ce service. Cette fenêtre de service est le numéro de port, et le fournisseur de services peut être trouvé via le port. nombre.
La fin qui fournit des services s'appelle le serveur, et celle qui demande des services au serveur s'appelle le client. Tout d'abord, le serveur démarre le processus de service et le numéro de port correspondant sera ouvert à ce moment-là, puis le client spécifie l'adresse IP du serveur et le numéro de port pour lancer une requête au serveur. Le noyau de l'hôte où se trouve le serveur. reçoit le paquet de requête, puis analyse les données. La requête de découverte de paquet concerne un certain numéro de port. Le noyau sait quelle application écoute le numéro de port, il envoie donc le message de requête à l'application correspondante une fois que l'application a reçu le message. , il établira une connexion avec le client et effectuera la transmission des données.
Il convient également de noter que tous les services ne fournissent pas toujours des numéros de port. Par exemple, le service xinetd ne prend en charge le port correspondant qu'en cas de besoin. Par exemple, lorsque le port d'écoute rsync est 222, demandez rsync At. cette fois, le numéro de port de xinetd pendant le processus d'écoute est 222. Lorsqu'il n'est pas demandé, xinetd n'a pas de numéro de port.
Sous Linux, les services sont divisés en démons indépendants et super-démons. Le processus démon indépendant se surveille en arrière-plan et, fondamentalement, tous les services sont des services de classe démon indépendants. Le super démon fait spécifiquement référence au service xinetd. Ce service gère certains services spéciaux en son nom, lorsque de tels services sont demandés, xinetd lui demandera de démarrer le service. Une fois le service fourni, ce type de service sera fermé. Le service est appelé transitoire. Les processus démons n'existent que temporairement.
Mais vous devez comprendre que le super démon xinetd lui-même est un processus démon indépendant résidant en mémoire, car il doit écouter les demandes du monde extérieur pour les processus démons transitoires qu'il gère. Cependant, lorsqu'il ne fonctionne pas, xinetd n'occupe pas le numéro de port. Lorsqu'il fonctionne, il occupe le numéro de port du démon transitoire demandé et est en état d'écoute.
11.2 Gestion des démons indépendants
Sur CentOS 6, tous les scripts de service sont dans le répertoire /etc/rc.d/init.d/ , /etc /init.d/ est son lien symbolique. Les scripts de ce répertoire sont tous des scripts de style LSB et acceptent essentiellement des paramètres tels que start/stop/restart/reload/status.
[root@xuexi tmp]# ls /etc/init.d abrt-ccpp cpuspeed irqbalance messagebus psacct saslauthd abrtd crond kdump netconsole quota_nld single abrt-oops functions killall netfs rdisc smartd acpid haldaemon lvm2-lvmetad network restorecond sshd atd halt lvm2-monitor ntpd rngd svnserve auditd ip6tables mcelogd ntpdate rsyslog sysstat blk-availability iptables mdmonitor postfix sandbox udev-post
Pour gérer les services de classe démon indépendants
/etc/init.d/service_name restart|start|stop|status # 方法一 service service_name restart|start|stop|status # 方法二
Pour activer le service à gérer par la commande service, placez son script de service dans le répertoire /etc/init.d.
11.3 Le service de gestion démarre automatiquement au démarrage
La commande chkconfig peut gérer les scripts qui existent dans le répertoire /etc/init.d/ et le contenu du script remplit certaines conditions Servir.
Pour permettre à chkconfig de gérer si le service démarre automatiquement au démarrage, placez simplement le script dans le répertoire /etc/init.d, puis ajoutez la ligne chkconfig et la ligne de description devant le script. Par exemple :
#!/bin/bash # chkconfig: - 85 15# description: The Apache HTTP Server is an efficient and extensible
Ces deux lignes doivent être devant toutes les lignes non-commentaires, et ces deux lignes doivent être "commentées". Le "-" dans la ligne chkconfig indique qu'il est applicable au niveau d'exécution 123456, 85 indique que lorsque l'ordinateur est allumé, sa séquence de démarrage est 85 et 15 indique que lorsqu'il est arrêté et que le service est arrêté, son la séquence d’arrêt est 15. Vous pouvez simplement donner quelques informations de description dans la ligne de description, mais vous devez donner le mot-clé « description : ».
Ensuite, vous pouvez utiliser chkconfig pour gérer le démarrage automatique du service.
chkconfig [--add | --del] <name> # 将/etc/init.d中可以被chkconfig管理的服务添加到chkconfig的管理列表中,或者从列表中删除 chkconfig [--list] [name] # 列出指定名称的服务的开启自启动信息。name可以使用all来表示列出所有chkconfig管理列表中的服务 chkconfig [--level <levels>] <name> <on|off|reset> # 将指定名称的服务在指定级别上打开开机自启动或关闭开机自启动功能。 # reset则表示重置为脚本中指定的级别
当然,除了chkconfig可以管理开机自启动,将启动命令放在/etc/rc.d/rc.local文件中也是可以的。
11.4 管理xinetd及相关瞬时守护进程
11.4.1 管理瞬时守护进程
该类服务不能直接使用service命令来启动。只能去/etc/xinetd.d/目录下的对应文件中进行设置(当然,也可以在/etc/xinetd.conf中配置),然后由xinetd进行管理。
首先安装xinetd程序。
[root@xuexi tmp]# yum -y install xinetd [root@xuexi tmp]# chkconfig --list ......省略 xinetd 0:off 1:off 2:off 3:on 4:on 5:on 6:off xinetd based services: chargen-dgram: off chargen-stream: off daytime-dgram: off daytime-stream: off discard-dgram: off discard-stream: offecho-dgram: offecho-stream: off rsync: off tcpmux-server: offtime-dgram: offtime-stream: off
首先得保证xinetd是已经工作在后台的。
service xinetd start
然后管理瞬时守护进程,该类服务比较特别,其自启动状态和服务运行状态是同步的,也就是说chkconfig设置了其自启动则表示启动该服务,否则为停止该服务。另外,对其指定级别是无效的,它们的启动级别继承与xinetd的启动级别,并且xinetd会接管其触发的瞬时守护进程的端口号。
例如启动rsync这个瞬时守护进程。
chkconfig rsync on
11.4.2 瞬时守护进程的配置
瞬时守护进程受两个配置文件控制,一个是xinetd的配置文件/etc/xinetd.conf提供默认配置,一个是/etc/xinetd.d/下的配置文件针对对应的服务提供配置。
例如配置rsync,以下是/etc/xinetd.d/rsync的默认配置。
[root@xuexi tmp]# vi /etc/xinetd.d/rsync # default: off # description: The rsync server is a good addition to an ftp server, as it \ # allows crc checksumming etc. service rsync # 定义rsync服务,名称要和/etc/xinetd.d/下的文件同名 { disable = yes # yes表示不启动,no表示启动,等价于chkconfig rsync {on|off},所以这里设置后将直接在chkconfig中生效 flags = IPv6 # 不用管 socket_type = stream # 这代表的是tcp类型的套接字wait = no # 该服务是单线程还是多线程的,表现形式是超出的请求是否进行等待,no表示多线程 user = root # 以什么身份运行rsync server = /usr/bin/rsync # 服务程序 server_args = --daemon # 服务程序启动时传递的参数 log_on_failure += USERID # 连接失败的日志记录,+表示在全局对应的条目上新增此处指定的USERID }
除此之外,还有几个选项:
【访问控制选项】以下两个控制列表中最好不要出现冲突的地址。 only_from:定义允许连接的访问控制列表,支持单IP,CIDR格式和长mask格式的网段,主机名hostname,域DOMAIN(.abc.com) no_access:定义不允许访问的列表,语法格式同only_from 【监听地址】 bind = ip_addr interface = ip_addr # 等价于bind 【资源控制】 cps=args1 args2 instances=N per_source=N
这3个选项的意义如下图。
11.5 CentOS 7上管理服务
service name start ==> systemctl start name.service
service name stop ==> systemctl stop name.service
service name restart ==> systemctl restart name.service
service name status ==> systemctl status name.service
查看服务是否激活(在运行中):systemctl is-active name.service
查看所有已经激活 :systemctl list-units --type service
查看所有服务 :systemctl list-units --type service --all
设置开机自启动:chkconfig name on ==> systemctl enable name.service
禁止开机自启动:chkconfig name off ==> systemctl disable name.service
查看服务是否开机自启动:chkconfig --list name ==> is-enabled name.service
查看所有服务的开机自启动状态:chkconfig --list ==> systemctl list-unit-files --type service
回到系列文章大纲:
转载请注明出处:
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment utiliser Redis pour mettre en œuvre la gestion distribuée des transactions Introduction : Avec le développement rapide d'Internet, l'utilisation de systèmes distribués devient de plus en plus répandue. Dans les systèmes distribués, la gestion des transactions constitue un défi important. Les méthodes traditionnelles de gestion des transactions sont difficiles à mettre en œuvre dans les systèmes distribués et sont inefficaces. Grâce aux caractéristiques de Redis, nous pouvons facilement mettre en œuvre une gestion distribuée des transactions et améliorer les performances et la fiabilité du système. 1. Introduction à Redis Redis est un système de stockage de données basé sur la mémoire avec des performances de lecture et d'écriture efficaces et des données riches

La connexion au bureau à distance a apporté de la commodité à la vie quotidienne de nombreux utilisateurs. Certaines personnes souhaitent utiliser des commandes pour se connecter à distance, ce qui est plus pratique à utiliser. Alors, comment se connecter ? Le service de connexion Bureau à distance peut vous aider à résoudre ce problème en utilisant une commande pour l'ouvrir. Comment configurer la commande de connexion au bureau à distance : Méthode 1. Connectez-vous à distance en exécutant la commande 1. Appuyez sur "Win+R" pour ouvrir "Exécuter" et entrez mstsc2, puis cliquez sur "Afficher les options" 3. Entrez l'adresse IP et cliquez sur "Connecter". 4. Cela montrera qu’il est en train de se connecter. Méthode 2 : Connectez-vous à distance via l'invite de commande 1. Appuyez sur « Win+R » pour ouvrir « Exécuter » et entrez cmd2 Dans l'« Invite de commandes », entrez mstsc/v:192.168.1.250/console.

Quelle est la bonne façon de redémarrer un service sous Linux ? Lors de l'utilisation d'un système Linux, nous rencontrons souvent des situations dans lesquelles nous devons redémarrer un certain service, mais nous pouvons parfois rencontrer des problèmes lors du redémarrage du service, comme le fait que le service ne s'arrête ou ne démarre pas réellement. Par conséquent, il est très important de maîtriser la bonne manière de redémarrer les services. Sous Linux, vous pouvez généralement utiliser la commande systemctl pour gérer les services système. La commande systemctl fait partie du gestionnaire système systemd

Comment implémenter la fonction de gestion des performances des étudiants en Java ? Dans le système éducatif moderne, la gestion des performances des élèves est une tâche très importante. En gérant les performances des élèves, les écoles peuvent mieux suivre les progrès des élèves, comprendre leurs faiblesses et leurs points forts et élaborer des plans d'enseignement plus ciblés sur la base de ces informations. Dans cet article, nous verrons comment utiliser le langage de programmation Java pour implémenter des fonctions de gestion des performances des étudiants. Tout d’abord, nous devons déterminer la structure des données des notes des étudiants. Généralement, les notes des étudiants peuvent être représentées comme un

Lorsque nous utilisons le système win10, lorsque nous utilisons la souris pour cliquer avec le bouton droit sur le bureau ou sur le menu contextuel, nous constatons que le menu ne peut pas être ouvert et que nous ne pouvons pas utiliser l'ordinateur normalement. À ce stade, nous devons restaurer. le système pour résoudre le problème. La gestion du menu contextuel Win10 ne peut pas être ouverte : 1. Ouvrez d'abord notre panneau de configuration, puis cliquez. 2. Cliquez ensuite sous Sécurité et maintenance. 3. Cliquez à droite pour restaurer le système. 4. Si elle ne peut toujours pas être utilisée, vérifiez s'il y a un problème avec la souris elle-même. 5. Si vous êtes sûr qu'il n'y a pas de problème avec la souris, appuyez sur + et entrez. 6. Une fois l'exécution terminée, redémarrez l'ordinateur.

Titre : Méthodes et exemples de code spécifiques pour résoudre le problème selon lequel le service PHP ne peut pas démarrer normalement sous Ubuntu. Lorsque vous utilisez Ubuntu pour créer un site Web ou une application, vous rencontrez souvent le problème selon lequel le service PHP ne peut pas démarrer normalement, ce qui entraînera le site Web. ne pas être accessible normalement ou l'application ne peut pas fonctionner normalement. Cet article explique comment résoudre le problème selon lequel le service PHP ne peut pas démarrer normalement sous Ubuntu et fournit des exemples de code spécifiques pour aider les lecteurs à résoudre rapidement de tels échecs. 1. Vérifiez le fichier de configuration PHP Tout d'abord, nous devons vérifier le fichier de configuration PHP

Comment partitionner la gestion des disques Avec le développement continu de la technologie informatique, la gestion des disques est devenue un élément indispensable de notre utilisation informatique. En tant qu'élément important de la gestion des disques, le partitionnement de disque peut diviser un disque dur en plusieurs parties, nous permettant ainsi de stocker et de gérer les données de manière plus flexible. Alors, comment partitionner la gestion des disques ? Ci-dessous, je vais vous donner une introduction détaillée. Tout d’abord, nous devons préciser qu’il n’existe pas qu’une seule façon de partitionner les disques. Nous pouvons choisir de manière flexible la méthode de partitionnement de disque appropriée en fonction des différents besoins et objectifs. souvent

Comment utiliser le framework Hyperf pour la gestion du cache Le cache est l'un des moyens importants pour améliorer les performances des applications, et les frameworks modernes nous fournissent des outils de gestion du cache plus pratiques. Cet article explique comment utiliser le framework Hyperf pour la gestion du cache et fournit des exemples de code spécifiques. Le framework Hyperf est un framework hautes performances développé sur la base de Swoole. Il dispose d'un riche ensemble de composants et d'outils intégrés, notamment de puissantes fonctions de gestion de cache. Le framework Hyperf prend en charge plusieurs pilotes de cache, tels que Redis et Memcach.
