Heim System-Tutorial LINUX Erkunden Sie die mysteriöse Welt der Hintergrundoperationen unter Linux

Erkunden Sie die mysteriöse Welt der Hintergrundoperationen unter Linux

Feb 12, 2024 pm 02:06 PM
linux linux教程 linux系统 linux命令 shell脚本 eingebettetes Linux Erste Schritte mit Linux Linux-Lernen

Lassen Sie uns eine mysteriöse Welt im Linux-Betriebssystem erkunden – im Hintergrund ausgeführt. Im täglichen Gebrauch müssen wir häufig die Ausführung im Hintergrund nutzen, um Aufgaben stillschweigend im Hintergrund ausführen zu lassen, ohne unsere aktuelle Arbeit zu beeinträchtigen. Wie implementiert man den Hintergrundbetrieb unter Linux?

Denken

Zunächst müssen wir uns mit der Frage befassen, warum das Hintergrundprogramm beendet wird, wenn Sie das Terminal direkt schließen. Das Terminal sendet ein SIGHUP-Signal an die in der aktuellen Umgebung gestarteten Hintergrundaufgaben , wodurch das laufende Programm hängen bleibt. Ignorieren Sie dann einfach das SIGHUP.

nohup

Der am häufigsten verwendete Befehl ist [nohup]. Anhand des Namens können Sie erkennen, ob er die Ausführung des Befehls unterbricht, das Terminal schließt oder sich von einem Konto abmeldet. Er muss auch weiterhin ausgeführt werden das Symbol.

Verwendung: nohup Command [ Arg … ] [ & ] 探秘 Linux 中的神秘后台运行世界

$ nohup sh test.sh &  
# 直接关闭当前终端,再打开一个查看  
$ ps -few|grep test.sh 
Nach dem Login kopieren

Wie oben zu sehen ist, ist der übergeordnete Prozess von test.sh, den wir ausführen, zu [PID 1] geworden und wird vom Linux-Hauptprozess übernommen.

setsid

nohup bedeutet, das SIGHUP-Signal zu ignorieren. Gibt es noch andere Ideen?

Der Befehl setip kann die Sitzung erneut öffnen, die ID der übergeordneten Prozessgruppe erben und sich der Kontrolle des übergeordneten Prozesses entziehen. Wie Sie in der Abbildung unten sehen können, ist der übergeordnete Prozess des test.sh-Skripts bereits init 1. Zu diesem Zeitpunkt hat er unabhängig vom Schließen oder Verlassen des Terminals nichts mit dem Hintergrundprogramm zu tun.

$ setsid sh test.sh 
Nach dem Login kopieren
探秘 Linux 中的神秘后台运行世界

Ein weiterer Unterschied zwischen setsid und nohup besteht darin, dass das &-Hintergrundsymbol nicht verwendet werden muss.

Ausgang

Verwenden Sie den Exit-Befehl, um das Terminal zu verlassen, aber unser Programm wird weiterhin ausgeführt. Warum ist das so?

Dies liegt daran, dass beim Verlassen des Terminals mit dem Befehl „exit“ das SIGHUP-Signal nicht an die Aufgabe gesendet wird, zu der das Terminal gehört. Es wird durch das Konfigurationselement „huponexit“ gesteuert. Sie können den Befehl „shopt“ verwenden Schau es dir an.

探秘 Linux 中的神秘后台运行世界
[root@api ~]# shopt |grep huponexit  
huponexit off 
Nach dem Login kopieren

Konfigurieren Sie huponexit auf „Ein“, verwenden Sie zum Beenden erneut den Exit-Befehl, und die entsprechenden Aufgaben werden entsprechend beendet.

[root@api ~]# shopt -s huponexit  
[root@api ~]# shopt |grep huponexit  
huponexit on 
Nach dem Login kopieren

Falle

Der Befehl

trap ist ein in Linux integrierter Befehl, der beim Empfang des angegebenen Signals ausgeführt werden soll, gefolgt vom zu verarbeitenden Signalnamen:

探秘 Linux 中的神秘后台运行世界

Wenn ein Skript im Hintergrund ausgeführt werden muss und wir nicht möchten, dass das Terminal das Programm beendet und schließt, können wir dem Skript den Trap-Befehl hinzufügen, um das SIGHUP-Signal zu ignorieren (den Prozess anzuhalten).

 #!/bin/sh  
trap "" HUP  
while true;do  
date >> /root/test.txt  
sleep 1  
done 
Nach dem Login kopieren

Der Linux-Befehl screen wird für Multi-Window-Verwaltungsprogramme verwendet. Er kann ein Terminal erstellen und das Programm darin ausführen lassen

screen sh test.sh &
Nach dem Login kopieren
探秘 Linux 中的神秘后台运行世界Wie aus dem Beispiel ersichtlich ist, ist der übergeordnete Prozess des Testskripts der Bildschirmterminalprozess, und die übergeordnete Prozess-PID1 des Bildschirmterminals schließt auch die Ausführung des Hintergrundprozesses ab.

Kurz gesagt ist die Ausführung im Hintergrund eine sehr verbreitete und praktische Technik unter Linux. Unabhängig davon, ob es sich um die Ausführung einiger Hintergrunddienste auf der Serverseite oder um die Erledigung langwieriger Aufgaben auf einem PC handelt, können Hintergrundvorgänge uns dabei helfen, die Effizienz zu verbessern und unsere tägliche Arbeit zu erleichtern.

Das obige ist der detaillierte Inhalt vonErkunden Sie die mysteriöse Welt der Hintergrundoperationen unter Linux. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Wie löste ich Berechtigungsprobleme bei der Verwendung von Python -Verssionsbefehl im Linux Terminal? Wie löste ich Berechtigungsprobleme bei der Verwendung von Python -Verssionsbefehl im Linux Terminal? Apr 02, 2025 am 06:36 AM

Verwenden Sie Python im Linux -Terminal ...

So öffnen Sie Web.xml So öffnen Sie Web.xml Apr 03, 2025 am 06:51 AM

Um eine Web.xml -Datei zu öffnen, können Sie die folgenden Methoden verwenden: Verwenden Sie einen Texteditor (z.

Vier Möglichkeiten zur Implementierung von Multithreading in C -Sprache Vier Möglichkeiten zur Implementierung von Multithreading in C -Sprache Apr 03, 2025 pm 03:00 PM

Multithreading in der Sprache kann die Programmeffizienz erheblich verbessern. Es gibt vier Hauptmethoden, um Multithreading in C -Sprache zu implementieren: Erstellen Sie unabhängige Prozesse: Erstellen Sie mehrere unabhängig laufende Prozesse. Jeder Prozess hat seinen eigenen Speicherplatz. Pseudo-MultitHhreading: Erstellen Sie mehrere Ausführungsströme in einem Prozess, der denselben Speicherplatz freigibt und abwechselnd ausführt. Multi-Thread-Bibliothek: Verwenden Sie Multi-Thread-Bibliotheken wie PThreads, um Threads zu erstellen und zu verwalten, wodurch reichhaltige Funktionen der Thread-Betriebsfunktionen bereitgestellt werden. Coroutine: Eine leichte Multi-Thread-Implementierung, die Aufgaben in kleine Unteraufgaben unterteilt und sie wiederum ausführt.

Kann der Python -Dolmetscher im Linux -System gelöscht werden? Kann der Python -Dolmetscher im Linux -System gelöscht werden? Apr 02, 2025 am 07:00 AM

In Bezug auf das Problem der Entfernung des Python -Dolmetschers, das mit Linux -Systemen ausgestattet ist, werden viele Linux -Verteilungen den Python -Dolmetscher bei der Installation vorinstallieren, und verwendet den Paketmanager nicht ...

Wofür wird der Linux am besten verwendet? Wofür wird der Linux am besten verwendet? Apr 03, 2025 am 12:11 AM

Linux wird am besten als Serververwaltung, eingebettete Systeme und Desktop -Umgebungen verwendet. 1) In der Serververwaltung wird Linux verwendet, um Websites, Datenbanken und Anwendungen zu hosten und Stabilität und Zuverlässigkeit bereitzustellen. 2) In eingebetteten Systemen wird Linux aufgrund seiner Flexibilität und Stabilität in Smart Home und Automotive Electronic Systems häufig verwendet. 3) In der Desktop -Umgebung bietet Linux reichhaltige Anwendungen und eine effiziente Leistung.

Wie ist Debian Hadoop -Kompatibilität? Wie ist Debian Hadoop -Kompatibilität? Apr 02, 2025 am 08:42 AM

Debianlinux ist bekannt für seine Stabilität und Sicherheit und wird in Server-, Entwicklungs- und Desktop -Umgebungen häufig verwendet. Während es derzeit einen Mangel an offiziellen Anweisungen zur direkten Kompatibilität mit Debian und Hadoop gibt, wird dieser Artikel Sie dazu veranlassen, Hadoop in Ihrem Debian -System bereitzustellen. Debian -Systemanforderungen: Bevor Sie mit der Hadoop -Konfiguration beginnen, stellen Sie bitte sicher, dass Ihr Debian -System die Mindestanforderungen von Hadoop erfüllt, einschließlich der Installation der erforderlichen Java -Laufzeitumgebung (JRE) und Hadoop -Pakete. Schritte zur Bereitstellung von Hadoop -Bereitstellungen: Download und Unzip Hadoop: Laden Sie die Hadoop -Version von der offiziellen Apachehadoop -Website herunter und lösen Sie sie

Muss ich einen Oracle -Client installieren, wenn ich mit GO eine Verbindung zu einer Oracle -Datenbank herstellen kann? Muss ich einen Oracle -Client installieren, wenn ich mit GO eine Verbindung zu einer Oracle -Datenbank herstellen kann? Apr 02, 2025 pm 03:48 PM

Muss ich einen Oracle -Client installieren, wenn ich mit GO eine Verbindung zu einer Oracle -Datenbank herstellen kann? Bei der Entwicklung in Go ist die Verbindung zu Oracle -Datenbanken eine übliche Anforderung ...

Ist Debian Strings kompatibel mit mehreren Browsern Ist Debian Strings kompatibel mit mehreren Browsern Apr 02, 2025 am 08:30 AM

"DebianStrings" ist kein Standardbegriff und seine spezifische Bedeutung ist noch unklar. Dieser Artikel kann seine Browserkompatibilität nicht direkt kommentieren. Wenn sich jedoch "DebianStrings" auf eine Webanwendung bezieht, die auf einem Debian -System ausgeführt wird, hängt seine Browserkompatibilität von der technischen Architektur der Anwendung selbst ab. Die meisten modernen Webanwendungen sind für die Kompatibilität des Cross-Browsers verpflichtet. Dies beruht auf den folgenden Webstandards und der Verwendung gut kompatibler Front-End-Technologien (wie HTML, CSS, JavaScript) und Back-End-Technologien (wie PHP, Python, Node.js usw.). Um sicherzustellen, dass die Anwendung mit mehreren Browsern kompatibel ist, müssen Entwickler häufig Kreuzbrowser-Tests durchführen und die Reaktionsfähigkeit verwenden

See all articles