タグ付けされた質問 「nohup」

nohup標準ユーティリティとcshなどのシェルから組み込まれたnohupにより、SIGHUPシグナルが無視されます。

1
一部のシェルで「nohupコマンド>&/ dev / null」が「機能する」ように見えるのはなぜですか?
私はUbuntuに尋ねて、以下を提案していた答えを編集しました nohup gedit >& /dev/null & 彼らが実際に意味したとき nohup gedit &> /dev/null & 後者は、stderrとstdoutの両方をに正しくリダイレ​​クトし/dev/nullます。前者は、というファイルを作成する&か、他の場合と同じようにエラーを出す可能性が高いと予想していました。 $ echo "foo" >& bash: syntax error near unexpected token `newline' 代わりに、前者とまったく同じように機能するようで、geditウィンドウが表示され、エラーメッセージは出力されません。 また、これはシェル固有であることに注意する必要があります。 bash(4.2.45(1)-release)、zsh(5.0.2)、csh(deb package version:20110502-2)およびtcsh(6.18.01):上記のように機能し、エラーメッセージもファイルも作成されません。 dash (0.5.7-3): $ nohup gedit >& /dev/null & $ dash: 2: Syntax error: Bad fd number ksh(93u + 2012-08-01):失敗しますが、ウィンドウは表示され1223ませんが、プロセスは明らかに開始されます()gedit: $ nohup …

1
「nohup ./my_script&」を実行しているターミナルを終了しています=>「実行中のジョブがあります」。終了してもよろしいですか?
端末を切断したときにジョブが強制終了しないように、リモートボックスで次のコマンドを実行するとします。 nohup ./my_script.sh & 端末を終了しようとすると、次の警告が表示されました。 zsh: you have running jobs 大丈夫だと思います。それはちょうど私がバックグラウンドで実行されているジョブ/プロセスを持っていることを私に伝えています。端末を切断しても、ジョブ/プロセスは引き続き実行されますか?

4
バックグラウンドで複数のnohupコマンドを実行する
2つのコマンドcmd1とcmd2を取得しました。2つのうち、cmd2の完了には時間がかかります。cmd2を実行してからcmd1を実行する必要があります。 次の方法でそれらを実行しようとしました: bash$ (nohup ./cmd2>result2 &) && nohup ./cmd1>result1 & または bash$ (nohup ./cmd2>result2 &) ; nohup ./cmd1>result1 & しかし、どちらの場合も、cmd1はcmd2が完了するのを待っておらず、result1がいっぱいになっていることがわかります。 両方をnohupプロセスにし、バックグラウンドで実行する必要があるときに、cmd1をcmd2の後に実行する方法は?

4
プロセスJavaはまだ殺されています
大学のサーバーでJavaプログラムを実行する必要があります。私は彼らのサーバーを介してssh経由でリモートでログインしています だから私はそのようにnohupを使いました: nohup java -jar project.jar & ただし、ログアウトしてターミナルを閉じてからサーバーに再度ログインすると、プロセスが見つからないか、強制終了されます。
11 nohup 

4
コマンドの出力がbashで利用できる行数を制限する方法は?
私はバックグラウンドで大きなファイルをダウンロードし始めました $ nohup wget http://example.tld/big.iso & これによりnohup.out、の出力を含むファイルも得られますwget。 これで、後でダウンロードプロセスを確認したい場合は使用できます$ tail -f nohup.outが、ターミナルウィンドウが思ったより早くいっぱいになります。私が見たいのは、最後の行が絶えず更新されていることです(wget単独で使用する場合と同じです)。 私は試しました$ tail -n 1 -f nohup.outが、それは最初のテイルのみに影響するようです。 一般的に言えば、コマンドの出力が利用できる/表示できる行数を制限する(この場合は1にする)ことが可能であれば、この問題は解決します。出力をCircularバッファに入れるようなものです。通常のプログレスバー$ wget example.tld/big.isoが印刷されると考えてください。 そのような解決策はありますか? または私は木を間違った方法で登っていますか?(意味、nohupの出力を制限したり、他のことをしたりする方が簡単でしょうか?)
11 bash  tail  nohup  stdout 

1
入力を使用してNohupコマンドを実行する
UNIXでは、nohupを使用して実行したいプロセスがあります。ただし、このプロセスは、ある時点で、入力するyes必要があるプロンプトで、またはno続行するために待機します。これまでのところ、UNIXでは次のことを行っています。 nohup myprocess <<EOF y EOF そのため、nohupを使用してプロセス 'myprocess'を開始し、 'y'を使用してファイルをパイプし、ファイルを閉じます。上記の行は、実質的に3つの別々のコマンドです。つまり、UNIXの最初の行でEnterキーを押してから、「y」と入力してEnterキーを押し、最後に「EOF」と入力してReturnキーをもう一度押します。だからこれは完璧に動作しますが、私の問題は以下です。 これをPerlで実行したいのですが、3行以上あるため、このコマンドを実行する方法がわかりません。以下が機能するかどうかはわかりません: my $startprocess = `nohup myprocess <<EOF & y EOF `
11 process  perl  nohup 

1
nohupバックグラウンドプロセスが停止しているのはなぜですか?
コマンドを使用してバックグラウンドでプロセスを開始するリモートセッションを介してシェルスクリプトを開始してみました。 nohup python3 run.py > nohup.out & リモートセッションが閉じられると、プロセスは次のメッセージで強制終了されます。 シグナルSIGHUPをキャッチしました SIGHUPはキャッチされましたが、デーモン化されていません。終了します。 わかりません。nohup&を使用してバックグラウンドで開始したときにプロセスが強制終了されるのはなぜですか?

1
`nohup`を使用して実行されるプログラムの環境変数を設定するにはどうすればよいですか?
(私は既存のBashスクリプトを編集しているので、おそらくここで愚かな間違いをしています...) 次のように、環境変数を引数としてコマンドを保存するシェルスクリプトがあります。 COMMAND="mvn clean install -P $MAVEN_PROFILE" 次に、nohupおおよそ次のようにコマンドを実行します。 nohup $COMMAND > logfile これは機能します。 ここで、Mavenでアクセスできる環境変数を設定します。私は次のようなことをいくつか試しました: COMMAND="FORMAVEN=valueForMaven mvn clean install -P $MAVEN_PROFILE" ...しかし、それは単に次のように終了します: nohup: failed to run command `FORMAVEN=valueForMaven': No such file or directory ここには関係のない概念がいくつかあるように思いますが、どれも理解していないし、知りさえしていません。上記を行うには何が必要ですか?

2
nohupはどのように機能しますか?
私の理解では、のようなプロセス信号をブロックするにSIGHUPは、信号が送信されるプロセス内からブロックする必要があります。しかし、UnixシェルのようなbashはHUP、nohupコマンドを使用して、子プロセスを生成し、親内から子のシグナルをブロックできます。これはどのように作動しますか?ないnohupシグナルをブロックして、フォークせずに子プロセスをexecし?それが私が考えることができる唯一の方法です。
8 signals  nohup 
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.