私は、たくさんリモート・サーバーを作ります。私は、私のサーバーに接続するために、SSHを使います。とても頻繁に、私は、私のSSH接続を閉める後に(で)さえ貸される必要があることが実行するプロセスを実行します。これは、私のログ・ファイルまたはとても大きいmysqlデータベース王政復古時代の間構文解析するシェル・スクリプトかもしれません。私がLinuxの方へ向くThat’sは、“nohup”と呼ばれる回線有用性を支配します。“Nohup”は、急に“ignoreに翻訳する“no hangup”のためにハングアップsignal”です。“hang up”合図は、何があなたがログアウトするときに起こるかです。“nohup”がするものは、それがあなたにあなたのサーバーにログインして、プロセスを起動してそしてログアウトさせるということです。プロセスは、あなたがログアウトした後に(で)さえ走り続けます。あなたがまたログインするときに、それがまだ走ることをまた処理して、提供する、あなたがアクセスすることができます。
“nohup”の基礎的なシンタックスは:
#nohup[コマンド]と
“[command]”をあなたのシェル・スクリプトまたはコマンドの名前と取り替えて下さい。終わりの“&”は、バックグラウンド・プロセスとしてコマンドあるいはスクリプトを走らせます。あなたがするだろう方法の例があなたのリモート・サーバーで大きいmysqlデータベースのバックアップをするために“nohup”を使うHere’s。第1に、私は、SSHを利用した私のリモート・サーバーへログインします:
#ssh calvin@sevenacross.com
それから、私はコマンド“mysqldumpを実行します-ucalvin-phobbes largedatabase>付け加えることによって“nohup”モードのlargedatabase.db”ひとつの“nohup”前にと“&”後にコマンド:
#nohup mysqldump-ucalvin-phobbes largedatabase>largedatabase.dbと
[1] 3999
#nohup:出力を書き添えますへの`nohup.out’
あなたが得る出力の二列があります。最初の回線の“3999″は、私がちょうど産んだプロセスのプロセスIDです、間“nohup:出力を書き添えますへの`nohup.out’”は、外に終点にたいてい来るだろうプットがそれからあなたがコマンドを起動したディレクトリーで“nohup.out”と呼ばれるファイルへ転送されているということを意味します。あなたは、すべてのプロセスIDを利用した実行中のプロセスを通して検索によってもしプロセスがまだ走れば調べることができます:
#ps -ef| 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
プロセスが終わったときに、たてつづけに、あなたは、このようにコマンドラインで出力を見るでしょう:
[1]+終わったnohup mysqldump-ucalvin-phobbes largedatabase>largedatabase.db
あなたは、プロセスが走っていた間に産出されたどんなエラーまたは他のメッセージを調べるために、ファイル“nohup.out”を調べることができます。もしファイルが空白の状態のままなら、that’sは承認します。それは、どんなメッセージもプロセスが走っていた間に産出されなかったということを意味します。
ブックマークと共用





























{1つのcomment…がそれを読みましたの下にあるいは1人を足して下さい }
こんにちは- しかし、もしあなたが同様に意のままに終点にあなたが離して再び取り付けることができるスクリーンを使って、そしてバックグラウンド(背景)でコントロールを走らせます、Nohupは役に立ちます。
http://www.gnu.org/software/screen/
–
ボビー
コメントを残して下さい