Tutoriel système
Linux
Explorer le monde mystérieux des opérations en arrière-plan sous Linux
Explorer le monde mystérieux des opérations en arrière-plan sous Linux
Explorons un monde mystérieux dans le système d'exploitation Linux - en arrière-plan. Dans une utilisation quotidienne, nous devons souvent utiliser l'exécution en arrière-plan pour permettre aux tâches de s'exécuter silencieusement en arrière-plan sans affecter notre travail actuel. Alors, comment implémenter le fonctionnement en arrière-plan sous Linux ?
Penser
Tout d'abord, nous devons considérer une question : pourquoi le programme en arrière-plan se ferme-t-il lorsque vous fermez directement le terminal ? En effet, lorsque vous fermez directement le terminal, le terminal enverra un signal SIGHUP aux tâches en arrière-plan démarrées dans l'environnement actuel ? , provoquant le blocage du programme en cours. Ensuite, ignorez simplement le SIGHUP.
nonhup
La commande la plus couramment utilisée est [nohup]. D'après le nom, vous pouvez savoir si elle suspend l'exécution de la commande, ferme le terminal ou se déconnecte d'un compte. Le processus continuera à s'exécuter. le symbole.
Utilisation : commande nohup [Arg…] [&]

$ nohup sh test.sh & # 直接关闭当前终端,再打开一个查看 $ ps -few|grep test.sh
Comme le montre ce qui précède, le processus parent de test.sh que nous exécutons est devenu [PID 1] et est repris par le processus principal Linux.
setsid
nohup consiste à ignorer le signal SIGHUP, y a-t-il d'autres idées ?
La commande setip peut rouvrir la session, hériter de l'ID du groupe de processus parent et échapper au contrôle du processus parent. Comme vous pouvez le voir sur l'image ci-dessous, le processus parent du script test.sh est déjà init 1. À l'heure actuelle, indépendamment de la fermeture ou de la sortie du terminal, cela n'a rien à voir avec le programme en arrière-plan.
$ setsid sh test.sh

Une autre différence entre setsid et nohup est qu'il n'est pas nécessaire d'utiliser le symbole & d'arrière-plan.
sortie
Utilisez la commande exit pour quitter le terminal, mais notre programme continuera à s'exécuter. Pourquoi ?
En effet, lors de la sortie du terminal à l'aide de la commande exit, le signal SIGHUP ne sera pas envoyé à la tâche à laquelle appartient le terminal. Il est contrôlé par l'élément de configuration huponexit. La valeur par défaut est désactivée. voir le.

[root@api ~]# shopt |grep huponexit huponexit off
Configurez huponexit sur activé, utilisez à nouveau la commande exit pour quitter et les tâches correspondantes se termineront en conséquence.
[root@api ~]# shopt -s huponexit [root@api ~]# shopt |grep huponexit huponexit on
piège
La commandetrap est une commande intégrée à Linux. L'action à entreprendre lors de la réception du signal spécifié, suivie du nom du signal à traiter, est la suivante :

Lorsqu'un script doit être mis en arrière-plan et que nous ne voulons pas que le terminal quitte et ferme le programme, nous pouvons ajouter la commande trap au script pour ignorer le signal SIGHUP (suspendre le processus).
#!/bin/sh trap "" HUP while true;do date >> /root/test.txt sleep 1 done
La commande Linux screen est utilisée pour les programmes de gestion multi-fenêtres. Elle peut créer un terminal et laisser le programme s'y exécuter
.
screen sh test.sh &
Comme le montre l'exemple, le processus parent du script de test est le processus du terminal d'écran, et le processus parent PID1 du terminal d'écran termine également l'exécution du processus en arrière-plan.
En bref, fonctionner en arrière-plan est une technique très courante et pratique sous Linux. Qu'il s'agisse d'effectuer certains services en arrière-plan côté serveur ou d'effectuer des tâches de longue durée sur un ordinateur personnel, les opérations en arrière-plan peuvent nous aider à améliorer notre efficacité et à faciliter notre travail quotidien.
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
Undress AI Tool
Images de déshabillage gratuites
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.
Clothoff.io
Dissolvant de vêtements AI
Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !
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)
Sujets chauds
Application intégrée par Postman sur CentOS
May 19, 2025 pm 08:00 PM
L'intégration d'applications de facteur sur CentOS peut être réalisée grâce à une variété de méthodes. Voici les étapes et suggestions détaillées: Installez Postman en téléchargeant le package d'installation pour télécharger le package d'installation de la version Linux de Postman: Visitez le site officiel de Postman et sélectionnez la version adaptée à Linux à télécharger. Décompressez le package d'installation: Utilisez la commande suivante pour décompresser le package d'installation dans le répertoire spécifié, par exemple / opt: sudotar-xzfostman-linux-x64-xx.xx.xx.tar.gz-c / opt, veuillez noter que "Postman-Linux-x64-xx.xx.xx.tar.gz" est remplacé par le nom de fichier. Créer des symboles
Introduction détaillée à chaque répertoire de Linux et de chaque répertoire (réimprimé)
May 22, 2025 pm 07:54 PM
[DESCRIPTION DU RÉPERTOIRE COMMUN] DIRECTEUR / BIN STORES Fichiers exécutables (LS, CAT, MKDIR, etc.), et les commandes communes sont généralement là. / ETC stocke la gestion du système et les fichiers de configuration / Home Stores tous les fichiers utilisateur. Le répertoire racine du répertoire personnel de l'utilisateur est la base du répertoire domestique de l'utilisateur. Par exemple, le répertoire domestique de l'utilisateur d'utilisateur est / home / utilisateur. Vous pouvez utiliser ~ User pour représenter / USR pour stocker les applications système. Le répertoire plus important / USR / répertoire d'installation du logiciel d'administrateur système local local (installer les applications au niveau du système). Il s'agit du plus grand répertoire, et presque toutes les applications et fichiers à utiliser sont dans ce répertoire. / USR / X11R6 Répertoire pour stocker x fenêtre / usr / bin beaucoup
Où est l'interpréteur PyCharm?
May 23, 2025 pm 10:09 PM
La définition de l'emplacement de l'interprète dans PyCharm peut être réalisée via les étapes suivantes: 1. Ouvrez PyCharm, cliquez sur le menu "Fichier" et sélectionnez "Paramètres" ou "Préférences". 2. Recherchez et cliquez sur "Projet: [Nom de votre projet]" et sélectionnez "PythonInterpreter". 3. Cliquez sur "addterpreter", sélectionnez "SystemInterpreter", accédez au répertoire d'installation Python, sélectionnez le fichier exécutable Python, puis cliquez sur "OK". Lors de la configuration de l'interprète, vous devez prêter attention à l'exactitude du chemin, à la compatibilité des versions et à l'utilisation de l'environnement virtuel pour assurer le fonctionnement fluide du projet.
La différence entre la programmation en Java et d'autres langues Analyse des avantages des caractéristiques multiplateformes de Java
May 20, 2025 pm 08:21 PM
La principale différence entre Java et d'autres langages de programmation est sa caractéristique multiplateforme de "l'écriture à la fois, en cours d'exécution partout". 1. La syntaxe de Java est proche de C, mais il supprime les opérations de pointeur qui sont sujettes aux erreurs, ce qui le rend adapté aux grandes applications d'entreprise. 2. Comparé à Python, Java présente plus d'avantages dans les performances et le traitement des données à grande échelle. L'avantage multiplateforme de Java provient de la machine virtuelle Java (JVM), qui peut exécuter le même bytecode sur différentes plates-formes, simplifiant le développement et le déploiement, mais veillez à éviter d'utiliser des API spécifiques à la plate-forme pour maintenir la plateformité transversale.
Après avoir installé Nginx, le chemin du fichier de configuration et les paramètres initiaux
May 16, 2025 pm 10:54 PM
La compréhension du chemin du fichier de configuration de Nginx et des paramètres initiaux est très importante car il s'agit de la première étape dans l'optimisation et la gestion d'un serveur Web. 1) Le chemin du fichier de configuration est généralement /etc/nginx/nginx.conf. La syntaxe peut être trouvée et testée à l'aide de la commande nginx-t. 2) Les paramètres initiaux incluent les paramètres globaux (tels que l'utilisateur, worker_processs) et les paramètres HTTP (tels que l'inclusion, log_format). Ces paramètres permettent la personnalisation et l'extension en fonction des exigences. Une configuration incorrecte peut entraîner des problèmes de performances et des vulnérabilités de sécurité.
Tutoriel d'installation de MySQL vous apprenez étape par étape les étapes détaillées pour l'installation et la configuration de MySQL étape par étape
May 23, 2025 am 06:09 AM
L'installation et la configuration de MySQL peuvent être terminées via les étapes suivantes: 1. Téléchargez le package d'installation adapté au système d'exploitation à partir du site officiel. 2. Exécutez l'installateur, sélectionnez l'option "Default Default" et définissez le mot de passe de l'utilisateur racine. 3. Après l'installation, configurez les variables d'environnement pour vous assurer que le répertoire bac de MySQL est dans le chemin du chemin. 4. Lors de la création d'un utilisateur, suivez le principe des autorisations minimales et définissez un mot de passe fort. 5. Ajustez les paramètres Innodb_Buffer_Pool_Size et Max_Connections lors de l'optimisation des performances. 6. Sauvegarder régulièrement la base de données et optimiser les instructions de requête pour améliorer les performances.
Expérience dans la participation aux activités d'échange de technologie hors ligne VSCODE
May 29, 2025 pm 10:00 PM
J'ai beaucoup d'expérience dans la participation aux activités d'échange de technologie hors ligne VSCODE, et mes principaux gains comprennent le partage du développement plug-in, des démonstrations pratiques et une communication avec d'autres développeurs. 1. Partage du développement plug-in: J'ai appris à utiliser l'API plug-in de VScode pour améliorer l'efficacité de développement, telles que la mise en forme automatique et les plug-ins d'analyse statique. 2. Démonstration pratique: j'ai appris à utiliser VScode pour le développement à distance et j'ai réalisé sa flexibilité et son évolutivité. 3. Communiquez avec les développeurs: j'ai obtenu des compétences pour optimiser la vitesse de démarrage VSCODE, telles que la réduction du nombre de plug-ins chargés au démarrage et la gestion de l'ordre de chargement du plug-in. En bref, cet événement m'a beaucoup profité et je recommande vivement ceux qui sont intéressés par VSCODE de participer.
Comparaison entre Informrix et MySQL sur Linux
May 29, 2025 pm 11:21 PM
Informrix et MySQL sont tous deux des systèmes de gestion de base de données relationnels populaires. Ils fonctionnent bien dans les environnements Linux et sont largement utilisés. Ce qui suit est une comparaison et une analyse des deux sur la plate-forme Linux: Installation et configurer Informrix: le déploiement d'informations sur Linux nécessite le téléchargement des fichiers d'installation correspondants, puis la réalisation du processus d'installation et de configuration en fonction de la documentation officielle. MySQL: Le processus d'installation de MySQL est relativement simple et peut être facilement installé via des outils de gestion des packages système (tels que APT ou YUM), et il existe un grand nombre de didacticiels et une prise en charge de la communauté sur le réseau pour référence. Performance Informrix: Informrix a d'excellentes performances et


