Ich arbeite auf Remotebedienern viel. Ich verwende SSH, um an meine Bediener anzuschließen. Ziemlich häufig lasse ich einen Prozeß laufen, den ich lasse Durchlauf benötige, selbst nachdem ich meinen SSH Anschluß schließe. Dieser könnte ein Oberteilindex sein, der durch meine Maschinenbordbuchakten oder sehr große mysql Datenbankwiederherstellung analysiert. Das ist, wenn ich an eine Linux Befehl Linie Dienstprogramm benanntes „nohup“ wende. „Nohup“ ist für „keinen Hängezustand“ kurz, der „ignorieren den Fall herauf Signal“ übersetzt. „Hängen Sie oben“ Signal ist, was geschieht, wenn Sie heraus loggen. Was „nohup“, ist, daß es Ihnen erlaubt, in Ihren Bediener zu loggen, einen Prozeß auszustoßen und heraus zu loggen. Die laufenden Prozeßunterhaelte, selbst nachdem Sie heraus geloggt haben. Wenn Sie wieder anmelden, können Sie diesen Prozeß wieder zugänglich machen, vorausgesetzt sein ruhiger Betrieb.
Die grundlegende Syntax von „nohup“ ist:
# nohup [Befehl] u.
Ersetzen Sie „[Befehl]“ mit dem Namen Ihres Oberteilindexes oder einem Befehl. „U.“ am Ende bildet den Befehl oder den Index laufen gelassen als Hintergrundprozeß. Ist hier ein Beispiel von, wie Sie „nohup“ benutzen würden, um eine Unterstützung einer großen mysql Datenbank auf Ihrem Remotebediener zu nehmen. Zuerst melde ich zu meinem Remotebediener mit SSH an:
# ssh calvin@sevenacross.com
Dann führe ich der Befehl „mysqldump - ucalvin - phobbes largedatabase durch > largedatabase.db“ im „nohup“ Modus, durch ein „nohup“ vorher addieren und „u.“ nach dem Befehl:
# nohup mysqldump - ucalvin - phobbes largedatabase > largedatabase.db u.
[1] 3999
# nohup: Ausgang zum `nohup.out anfügen'
Es gibt zwei Linien Ausgang, die Sie erhalten. Das „″ 3999 in der ersten Linie ist der Prozeß Identifikation des Prozesses, den ich gerade laichte, während das „nohup: Ausgang zum `nohup.out anzufügen'“ bedeutet, daß das Heraus sich setzte, das normalerweise zum Anschluß wird nachgeschickt in eine Akte kommen würde, die „nohup.out“ im Verzeichnis genannt wurde, von dem Sie den Befehl ausstießen. Sie können überprüfen, ob der Prozeß noch läuft, indem er durch alle Betriebprozesse mit dem Prozeß Identifikation sucht:
# ps - E-F | grep 3999
calvin 3999 29848 0 18:42? 00:00: 00 /usr/bin/mysqldump
calvin 6575 31852 0 18:44 pts/2 00:00: 00 grep 3999
Wenn der Prozeß erfolgter Betrieb ist, sehen Sie einen Ausgang in der Befehl Linie so:
[1] + getan nohup mysqldump - ucalvin - phobbes largedatabase > largedatabase.db
Sie können die Akte „nohup.out“ überprüfen, um auf alle mögliche Störungen oder andere Anzeigen zu überprüfen, die ausgegeben wurden, während der Prozeß lief. Wenn die Akte freier Raum bleibt, der okay ist. It means no messages were output while the process was running.
Related Posts:





























{ 1 comment… read it below or add one }
Hello - Nohup is useful, but if you use screen you can detach and reattach to a terminal at will and have commands running in the background as well.
http://www.gnu.org/software/screen/
–
Bobby
Leave a Comment