George Hotz | Programming | From the Transistor: Exploring Xilinx on MAC ( O S A K A ) | Part1
目次:
nohup
コマンドは、引数として指定された別のプログラムを実行し、すべての
SIGHUP
(ハングアップ)シグナルを無視します。
SIGHUP
は、制御端末が閉じられたときにプロセスに送信される信号です。
通常、SSHを介してプログラムを実行する場合、接続が切断されるかログアウトすると、セッションが終了し、ターミナルから実行されたすべてのプロセスが停止します。 これは、
nohup
コマンドが便利な場所です。 すべてのハングアップ信号を無視し、プロセスは引き続き実行されます。
nohupコマンドの使用方法
nohup
コマンドの構文は次のとおりです。
nohup COMMAND
このコマンドは、標準の
--help
および
--version
以外のオプションを受け入れません。
次の例を見てみましょう。
nohup mycommand
nohup: ignoring input and appending output to 'nohup.out'
nohup
は、フォアグラウンドで
mycommand
コマンドを実行し、コマンド出力を
nohup.out
ファイルにリダイレクトします。 このファイルは現在の作業ディレクトリに作成されます。 コマンドを実行しているユーザーに作業ディレクトリへの書き込み権限がない場合、ファイルはユーザーのホームディレクトリに作成されます。
ログアウトするか、ターミナルを閉じると、プロセスは終了しません。
バックグラウンドでコマンドを実行する
フォアグラウンドで
nohup
を使用することは、コマンドが完了するまでシェルと対話できないため、あまり役に立ちません。
バックグラウンドでコマンドを実行するには、コマンドの最後に
&
記号を追加します。
nohup mycommand &
出力には、シェルジョブID(括弧で囲まれた)とプロセスIDが含まれます。
25177
ジョブIDを使用して、
fg
コマンドを使用してコマンドをフォアグラウンドに持ってくることができます。
何らかの理由でプロセスを終了する場合は、
kill
コマンドに続けてプロセスIDを使用します。
出力をファイルにリダイレクトする
デフォルトでは、
nohup
はコマンド出力を
nohup.out
ファイルにリダイレクトします。 出力を別のファイルにリダイレクトする場合は、標準のシェルリダイレクトを使用します。
たとえば、標準出力と標準エラーを
mycommand.out
にリダイレクトするには、
mycommand.out
を使用します。
nohup mycommand > mycommand.out 2>&1 &
標準出力と標準エラーを異なるファイルにリダイレクトするには:
nohup mycommand > mycommand.out 2> mycommand.err &
代替案
ターミナルを閉じたり切断されたときにコマンドが終了するのを避けるために使用できる代替プログラムがいくつかあります。
画面
ScreenまたはGNU Screenは、画面セッションを開始し、そのセッション内で任意の数のウィンドウ(仮想端末)を開くことができるターミナルマルチプレクサプログラムです。 Screenで実行されているプロセスは、切断されてもウィンドウが表示されない場合は実行を続けます。
Tmux
Tmuxは、GNU画面の最新の代替手段です。 Tmuxを使用すると、セッションを作成し、そのセッション内で複数のウィンドウを開くこともできます。 Tmuxセッションは永続的です。つまり、端末を閉じても、Tmuxで実行されているプログラムは引き続き実行されます。
否認
disown
は、シェルのジョブ制御からシェルジョブを削除するシェル組み込み
disown
です。
nohup
とは異なり、実行中のプロセスでも
disown
を使用できます。
結論
nohup
使用すると、ログアウトまたは端末の終了時にコマンドが終了しないようにすることができます。
IBM Apps for Linux Apps:「待っているのが疲れました」

オープンソース・ソフトウェアは、 IBMオープンソースの専門家によれば、業界固有のエンタープライズ・アプリケーションに大きな進展をもたらさない可能性があります。
Vista、XP、Linux、Mac OSの違いの説明中学生が、簡単な言葉。私はそれだけです。

私が知っている中学生は、Vista、XP、Linux、Mac OSの違いを説明するように頼まれました。私たちの会話の要点は次のとおりです:
Linux.comが変身を得ようとする

Linux Foundationがlinux.comドメインの元のコンテンツを復活させようとしている