Inhaltsverzeichnis
Was ist nohup
nohup语法规则
nohup使用方法
后台运行命令
标准输出重定向到文件
标准错误输出重定向到文件
将标准输出和标准错误输出都重定向到文件
nohup后台进程管理
Befehl im Hintergrund ausführen
Standardausgabe wird in eine Datei umgeleitet
Standardfehlerausgabe wird in eine Datei umgeleitet
Leiten Sie sowohl die Standardausgabe als auch die Standardfehlerausgabe in eine Datei um.
nohup Hintergrundprozessverwaltung
Heim Betrieb und Instandhaltung Betrieb und Wartung von Linux So verwenden Sie den Befehl nohup unter Linux

So verwenden Sie den Befehl nohup unter Linux

May 12, 2023 am 08:52 AM
linux nohup

Was ist nohup

nohup ist ein Befehl in Linux- und Unix-Systemen. Seine Funktion besteht darin, den Prozess im Hintergrund weiterlaufen zu lassen, wenn das Terminal beendet wird. Der vollständige Name lautet „no hang up“, was „kein Auflegen“ bedeutet. Mit dem Befehl nohup können Sie weiterhin Befehle ausführen, nachdem Sie das Terminal verlassen oder die SSH-Verbindung geschlossen haben. nohup是Linux和Unix系统中的一个命令,其作用是在终端退出时,让进程在后台继续运行。它的全称为“no hang up”,意为“不挂起”。nohup命令可以让你在退出终端或关闭SSH连接后继续运行命令。

nohup语法规则

nohup命令的基本语法如下:

nohup COMMAND [ARGS ...] [> output-file 2> error-file] &

其中的参数含义如下:

  • COMMAND:需要在后台运行的命令或脚本。

  • ARGS:命令或脚本的参数。

  • > output-file:输出重定向到指定的文件中。

  • 2> error-file:错误信息重定向到指定的文件中。

  • &:将命令放在后台运行。

nohup命令的执行过程分为以下几个步骤:

  • nohup命令将当前shell的标准输入、标准输出和标准错误输出全部重定向到/dev/null设备中,避免被关闭终端的信号所中断。

  • nohup命令将进程放到后台执行,并将进程的PID输出到终端。

  • 进程开始执行,并将标准输出和标准错误输出重定向到指定的文件中。

  • 用户可以退出终端或关闭终端窗口,进程仍然在后台运行。

nohup使用方法

使用nohup命令非常简单,按照上面的基本语法即可。以下是一些nohup命令的用法示例:

后台运行命令

要在后台运行命令,只需要在命令行中输入以下命令即可:

nohup COMMAND &

例如,在后台运行一个Bash脚本:

nohup bash test.sh &

标准输出重定向到文件

nohup bash test.sh > stdout.txt &

标准错误输出重定向到文件

nohup bash test.sh 2> stderr.txt &

将标准输出和标准错误输出都重定向到文件

1. 重定向到同一文件

nohup bash test.sh > output.txt 2>&1 &

2. 重定向到不同文件

nohup bash test.sh > stdout.txt 2> stderr.txt &

3. 一个更为复杂的例子,重定向标准输入(stdin):

nohup ./myprogram > foo.out 2> foo.err < /dev/null &

这里多出来一个< /dev/null,意思是将标准输入重定向到/dev/null,以确保程序不会从标准输入中读取任何数据。

这个是为了解决一个实际问题:SSH会话常常拒绝注销(或者挂起),因为它不愿意去丢失与后台job(s)进行交互的数据。当遇到这个问题的时候,可以使用上面的命令,通过三次重定向来解决。

nohup后台进程管理

使用 jobs 命令可以查看当前 shell 中后台运行的任务列表,包括任务编号、状态和命令。

例如,我们在后台执行一个sleep 1000命令,使用jobs命令查看:

$ jobs
[1]+  Running                 nohup sleep 1000 &

其中,方括号中的数字表示任务编号,加号或减号表示任务的优先级,Running 表示任务正在后台运行。除此之外,还有其他可能的状态,包括 Stopped(已停止)、Done(已完成)等。

我们还可以使用 fg 命令将一个后台任务移动到前台继续运行,例如:

$ fg %1

这个命令会将任务编号为 1 的任务移动到前台,继续执行。如果希望将任务暂停或恢复,可以使用 Ctrl-Z 键,在当前 shell 中发送 SIGTSTP 信号。

$ fg %1
nohup sleep 1000

^Z
[1]+  Stopped                 nohup sleep 1000

此时如果想要恢复运行,可以使用bg命令:

$ bg %1
[1]+ nohup sleep 1000 &

如果想要杀死该任务,可以使用kill命令:

$ kill %1
[1]+  Terminated              nohup sleep 1000

如果你想杀死所有后台任务,但是又觉得一个个地比较麻烦,可以使用disown命令来解决:

$ disown -a

这个命令可以杀死所有后台任务,但不会有任何提示,你可以通过jobs

nohup-Syntaxregeln#🎜🎜##🎜🎜#Die grundlegende Syntax des nohup-Befehls lautet wie folgt: #🎜🎜#rrreee#🎜🎜#Die Bedeutung der Parameter ist wie folgt: #🎜 🎜#
  • #🎜🎜#BEFEHL: Ein Befehl oder Skript, das im Hintergrund ausgeführt werden muss. #🎜🎜#
  • #🎜🎜#ARGS: Parameter eines Befehls oder Skripts. #🎜🎜#
  • #🎜🎜#> Ausgabedatei: Die Ausgabe wird in die angegebene Datei umgeleitet. #🎜🎜#
  • #🎜🎜#2> error-file: Die Fehlermeldung wird in die angegebene Datei umgeleitet. #🎜🎜#
  • #🎜🎜#&: Führen Sie den Befehl im Hintergrund aus. #🎜🎜#
#🎜🎜#Der Ausführungsprozess des Nohup-Befehls ist in die folgenden Schritte unterteilt: #🎜🎜#
  • # 🎜🎜 Der Befehl #nohup leitet alle Standardeingaben, Standardausgaben und Standardfehlerausgaben der aktuellen Shell an das Gerät /dev/null um, um eine Unterbrechung durch ein Signal zum Schließen des Terminals zu vermeiden. #🎜🎜#
  • #🎜🎜#Der Befehl nohup stellt den Prozess zur Ausführung in den Hintergrund und gibt die PID des Prozesses an das Terminal aus. #🎜🎜#
  • #🎜🎜#Der Prozess startet die Ausführung und leitet die Standardausgabe und die Standardfehlerausgabe in die angegebene Datei um. #🎜🎜#
  • #🎜🎜#Benutzer können das Terminal verlassen oder das Terminalfenster schließen, und der Prozess läuft weiterhin im Hintergrund. #🎜🎜#
#🎜🎜#nohup-Verwendungsmethode#🎜🎜##🎜🎜#Die Verwendung des nohup-Befehls ist sehr einfach. Befolgen Sie einfach die obige grundlegende Syntax. Hier sind einige Anwendungsbeispiele des Befehls nohup: #🎜🎜#

Befehl im Hintergrund ausführen

#🎜🎜#Um einen Befehl im Hintergrund auszuführen, geben Sie einfach den folgenden Befehl in die Befehlszeile ein: #🎜 🎜#rrreee #🎜🎜#Um beispielsweise ein Bash-Skript im Hintergrund auszuführen: #🎜🎜#rrreee

Standardausgabe wird in eine Datei umgeleitet

rrreee

Standardfehlerausgabe wird in eine Datei umgeleitet

rrreee

Leiten Sie sowohl die Standardausgabe als auch die Standardfehlerausgabe in eine Datei um.

#🎜🎜#1 In dieselbe Datei umleiten#🎜🎜#rrreee#🎜🎜#2 #🎜🎜#rrreee#🎜 🎜#3. Ein komplexeres Beispiel, die Standardeingabe umleiten (stdin): #🎜🎜#rrreee#🎜🎜#Es gibt einen zusätzlichen < Das bedeutet, dass die Standardeingabe nach <code>/dev/null umgeleitet wird, um sicherzustellen, dass das Programm keine Daten aus der Standardeingabe liest. #🎜🎜##🎜🎜#Hiermit soll ein praktisches Problem gelöst werden: Eine SSH-Sitzung weigert sich häufig, sich abzumelden (oder hängt), weil sie nicht bereit ist, die Daten zu verlieren, die mit dem/den Hintergrundjob(s) interagieren. Wenn dieses Problem auftritt, können Sie es mit dem obigen Befehl lösen, indem Sie dreimal umleiten. #🎜🎜#

nohup Hintergrundprozessverwaltung

#🎜🎜#Verwenden Sie den Befehl jobs, um die Liste der Aufgaben anzuzeigen, die im Hintergrund in der aktuellen Shell ausgeführt werden, einschließlich Aufgabennummern und Status und Befehle. #🎜🎜##🎜🎜#Zum Beispiel führen wir einen sleep 1000-Befehl im Hintergrund aus und verwenden den jobs-Befehl, um Folgendes anzuzeigen: #🎜🎜#rrreee#🎜🎜 #Wo, Quadrat Die Zahl in Klammern gibt die Aufgabennummer an, das Plus- oder Minuszeichen gibt die Priorität der Aufgabe an und Running gibt an, dass die Aufgabe im Hintergrund ausgeführt wird. Darüber hinaus gibt es weitere mögliche Zustände, darunter Stopped (gestoppt), Done (abgeschlossen) usw. #🎜🎜##🎜🎜#Wir können auch den Befehl fg verwenden, um eine Hintergrundaufgabe in den Vordergrund zu verschieben, um sie weiter auszuführen, zum Beispiel: #🎜🎜#rrreee#🎜🎜#Dieser Befehl nummeriert die Aufgabe 1 Die Aufgabe wird in den Vordergrund gerückt und die Ausführung wird fortgesetzt. Wenn Sie eine Aufgabe anhalten oder fortsetzen möchten, können Sie mit den Tasten Strg-Z das Signal SIGTSTP in der aktuellen Shell senden. #🎜🎜#rrreee#🎜🎜#Wenn Sie den Betrieb zu diesem Zeitpunkt wieder aufnehmen möchten, können Sie den Befehl bg verwenden: #🎜🎜#rrreee#🎜🎜#Wenn Sie die Aufgabe beenden möchten, Sie können den Befehl kill verwenden: #🎜🎜#rrreee#🎜🎜#Wenn Sie alle Hintergrundaufgaben beenden möchten, es aber mühsam finden, sie einzeln auszuführen, können Sie den Befehl disown verwenden -Befehl zur Lösung des Problems: # 🎜🎜#rrreee#🎜🎜#Dieser Befehl kann alle Hintergrundaufgaben beenden, es erfolgt jedoch keine Eingabeaufforderung. Sie können dies mit dem Befehl jobs bestätigen. #🎜🎜#

Das obige ist der detaillierte Inhalt vonSo verwenden Sie den Befehl nohup 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

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

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.

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

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)

Heiße Themen

PHP-Tutorial
1545
276
Systemanforderungen zur Installation von Linux Systemanforderungen zur Installation von Linux Jul 20, 2025 am 03:49 AM

LinuxcanrunonModesthardwareWithSpecificMinimumRequirements Amshouldbeatleast512MBForCommand-LINEUSOR2GBFORTESKTOPENVIRMENTS.DIKSPACEREQUIRESAMINIMUMUMOF5–10 GB, obwohl25GBISBETTERFORAD

Wie lautet die Codenummer von Bitcoin? Welcher Codestil ist Bitcoin? Wie lautet die Codenummer von Bitcoin? Welcher Codestil ist Bitcoin? Jul 22, 2025 pm 09:51 PM

Als Pionier in der digitalen Welt standen der einzigartige Codename und die zugrunde liegende Technologie immer im Mittelpunkt der Aufmerksamkeit der Menschen. Sein Standardcode ist BTC, auch als XBT auf bestimmten Plattformen bekannt, die internationale Standards entsprechen. Aus technischer Sicht ist Bitcoin kein einziger Codestil, sondern ein riesiges und ausgeklügeltes Open -Source -Softwareprojekt. Sein Kerncode ist hauptsächlich in C geschrieben und enthält Kryptographie, verteilte Systeme und Wirtschaftsgrundsätze, damit jeder seinen Code anzeigen, überprüfen und beitragen kann.

Wie mache ich PHP -Container -Unterstützung automatisch? Kontinuierlich integrierte CI -Konfigurationsmethode der PHP -Umgebung Wie mache ich PHP -Container -Unterstützung automatisch? Kontinuierlich integrierte CI -Konfigurationsmethode der PHP -Umgebung Jul 25, 2025 pm 08:54 PM

Um PHP -Container zur Unterstützung der automatischen Konstruktion zu ermöglichen, liegt der Kern in der Konfiguration des Continuous Integration (CI) -Prozesses. 1. Verwenden Sie Dockerfile, um die PHP -Umgebung zu definieren, einschließlich grundlegender Bild-, Erweiterungsinstallations-, Abhängigkeitsmanagement- und Berechtigungseinstellungen. 2. Konfigurieren Sie CI/CD-Tools wie GitLabci und definieren Sie die Erstell-, Test- und Bereitstellungsstadien über die Datei .gitlab-ci.yml, um automatische Konstruktion, Test und Bereitstellung zu erreichen. 3.. Integrieren Sie Testframeworks wie Phpunit, um sicherzustellen, dass die Tests automatisch nach Codeänderungen ausgeführt werden. 4. Verwenden Sie automatisierte Bereitstellungsstrategien wie Kubernetes, um die Bereitstellungskonfiguration durch die Datei bereitzustellen. 5. Dockerfile optimieren und mehrstufige Konstruktionen übernehmen

So erstellen Sie eine unabhängige Umgebung von PHP -Task Container. So konfigurieren Sie den Container zum Ausführen von PHP -Timed -Skripten So erstellen Sie eine unabhängige Umgebung von PHP -Task Container. So konfigurieren Sie den Container zum Ausführen von PHP -Timed -Skripten Jul 25, 2025 pm 07:27 PM

Der Aufbau einer unabhängigen Umgebung für PHP -Aufgabencontainer kann über Docker implementiert werden. Die spezifischen Schritte sind wie folgt: 1. Installieren Sie Docker und DockerComponpose als Grundlage; 2. Erstellen Sie ein unabhängiges Verzeichnis, um Dockerfile und Crontab -Dateien zu speichern. 3. Schreiben Sie Dockerfile, um die PHPCLI -Umgebung zu definieren und Cron und die erforderlichen Erweiterungen zu installieren. 4. Schreiben Sie eine Crontab -Datei, um Zeitaufgaben zu definieren. 5. Schreiben Sie ein Docker-compose.yml-Mount-Skriptverzeichnis und konfigurieren Sie Umgebungsvariablen. 6. Starten Sie den Container und überprüfen Sie das Protokoll. Im Vergleich zu Timing -Aufgaben in Webcontainern haben unabhängige Container die Vorteile der Ressourcenisolation, der reinen Umgebung, der starken Stabilität und einer einfachen Expansion. Gewährleistung der Protokollierung und Fehleraufnahme

Wie man eine Festplatte unter Linux sicher löscht Wie man eine Festplatte unter Linux sicher löscht Jul 24, 2025 am 12:08 AM

Bestätigen Sie den Namen der Zielfestplatte (z. B. /dev /sda), um das Versand, die Systemscheibe versehentlich zu löschen. 2. Verwenden Sie sudoddif =/dev/zeroof =/dev/sdxbs = 1mstatus = Fortschritt, um den Nullwert in der vollständigen Festplatte zu überschreiben, was für die meisten Szenarien geeignet ist. 3. Verwenden Sie Sudoshred-V-N3/Dev/SDX für drei zufällige Datenüberschreibungen, um sicherzustellen, dass sie nicht wiederhergestellt werden können. V. Verwenden Sie schließlich sudohexdump-c/dev/sdx |

Linux vs Windows: Welches Betriebssystem ist besser für Sie? Linux vs Windows: Welches Betriebssystem ist besser für Sie? Jul 29, 2025 am 03:40 AM

WindowsSbetterForBeginersDuetoeaseofuse, SeamlessHardWarecompatibilität und SupportformainStreamSoftwarelikemicrosoftOfficAndAbApps.2.LinuxoutPerformswindowSonolderorlow-Resourcehardwarewithfasterboottimes, LowersyStemRequeStemeStemRequirements und LowsSystems und LesslosedleSble

So fügen Sie einen Benutzer unter Linux hinzu So fügen Sie einen Benutzer unter Linux hinzu Jul 21, 2025 am 03:32 AM

Fügen Sie UserAdd- oder Adduser -Befehle hinzu, die üblicherweise von Benutzern unter Linux verwendet werden. 1. Bei Verwendung von UserAdd müssen Sie das Passwort und das Heimverzeichnis manuell festlegen. Fügen Sie den Parameter -m hinzu, um das Home -Verzeichnis zu erstellen. 2. Sie können die Shell, Gruppe und UID durch Parameter wie -s, -g und -U angeben; 3. Adduser ist ein interaktiver Befehl, der für Anfänger geeignet ist, um die Konfiguration automatisch zu vervollständigen. V. 5. UserDel kann versehentlich Benutzer und Home -Verzeichnisse löschen. Durch das Beherrschen dieser wichtigen Punkte können Sie Benutzer effizient und sicher verwalten.

So planen Sie Aufgaben unter Linux mit Cron und Anacron So planen Sie Aufgaben unter Linux mit Cron und Anacron Aug 01, 2025 am 06:11 AM

cronisusedForprecisesDulingonalways-Einsysteme, whileanaconeSureSureStoctasKsRunonSystemthataren'tcontinuouslyPowered, Suchaslaptops; 1.USecronforexacttiming (z

See all articles