問題タブ [nohup]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
3855 参照

python - ファブリックは nohup でリモート スクリプトを呼び出すことができません

リモートサーバーには、次のようなスクリプト test.sh があります。

ローカルから「fab runtest」を実行して、リモートの test.sh を呼び出します。

「I'm here!」という出力は得られますが、リモート サーバーでスリープ プロセスが見つかりません。私は何を取りこぼしたか?

ありがとう!

0 投票する
2 に答える
663 参照

session - ターミナルを閉じたときにバックグラウンドプロセスグループが死ぬ理由

このよくある質問 (および他の多くの本) によると:

ftp://rtfm.mit.edu/pub/faqs/unix-faq/programmer/faq

1.15 親プロセスが終了したときにプロセスが SIGHUP を取得しないのはなぜですか?

どのプロセスも「停止」していない場合、SIGHUP はバックグラウンド プロセスに送信されません。

しかし、バックグラウンド プロセスで SIGHUP がキャプチャされない場合、端末 (または ssh などの接続) を閉じると、SIGHUP が終了することは誰もが知っています。

つまり、CTRL+Z - bg は、ターミナルが閉じられたときにプロセスが存続するのに十分ではありません。

しかし、なぜ?どんな知恵も大歓迎です!

0 投票する
1 に答える
4677 参照

python - utf-8とnohupを使用したpythonprintステートメント

ログメッセージを出力するPythonコードがいくつかあります。コマンドラインで実行すると、utf-8で問題なく動作します。特殊文字を含むログメッセージは正常に出力されます。ただし、nohupの下でバックグラウンドで実行すると、utf-8文字でbarfsします。

私が見るエラーは、通常の「utfをASCIIでエンコードしようとする」エラーです。

UnicodeEncodeError:'ascii'コーデックは71桁目の文字u'\ u2013'をエンコードできません:序数が範囲内にありません(128)

これは、nohupがPythonに通常の端末がないことを通知するためだと思います。そのため、デフォルトでasciiになります。nohupにutf-8を有効にして実行するように指示する方法、またはutf-8文字がバックグラウンドでnohupの下で実行されたときにクラッシュを引き起こさないように設定する方法はありますか?

0 投票する
5 に答える
41277 参照

python - Pythonからプログラムを実行し、スクリプトが強制終了された後も実行を継続します

私はこのようなものを実行しようとしました:

これは、親スクリプトが正常に終了した場合に機能しますが、スクリプトを強制終了すると(Ctrl-C)、すべての子プロセスも強制終了されます。これを回避する方法はありますか?

私が気にかけているプラ​​ットフォームは、Python2.6Python2.7を使用するOSXとLinuxです。

0 投票する
5 に答える
43142 参照

bash - bashスクリプト内にnohupを含める方法は?

nohupコマンドで常に実行したいmandacalcという大きなスクリプトがあります。コマンドラインから次のように呼び出す場合:

すべてが迅速に実行されます。しかし、コマンド内にnohupを含めようとすると、実行するたびに入力する必要がなくなり、エラー メッセージが表示されます。

これまでのところ、次のオプションを試しました。

また:

これまでのところ、 nohupコマンドの実装、またはスクリプト内で使用されている他の引用符について不平を言うエラー メッセージしか表示されません。

乾杯。

0 投票する
1 に答える
5915 参照

ssh - jsch ChannelExec nohup で .sh スクリプトを実行し、いくつかのコマンドを「失う」

Windowsアプリケーションからjsch ChannelExecによって呼び出される、他の多くのスクリプトを接着する.shスクリプトがあります。

「nohup /foo/bar/foobar.sh >> /path/to/foo.log &」のようなコマンドを実行すると、すべての長期的なジョブ (データベース操作、ファイル処理など) が失われるようです。

ログファイルをチェックして、それらのエコーのものだけを見つけます(長時間の操作の前後、実行時間の計算など)。

アクセス許可 $PATH を確認し、ソース /etc/profile を .sh に追加しましたが、これらはどれも機能しません。

しかし、コマンドを通常どおり実行すると(同期実行、すべてのエコー出力をWindows上のJavaクライアントに出力)、すべてうまくいきます。

それは本当に具体的な問題です。経験のある人が私を助けてくれることを願っています。

少し早いですがお礼を。

ハン

0 投票する
2 に答える
650 参照

process - nohup なしでプロセスを維持する

サーバーでスクリプトを開始し、nohup を使用しませんでしたが、切断する必要があります。実行し続ける方法はありますか?その長い 27 時間のプロセス。

0 投票する
2 に答える
3733 参照

java - JavaロギングとUnixNohupの問題

あるアクションでテキストデータをファイルに記録する小さなプログラムを作成しました。Puttyによってプログラムがデプロイされているリモートシステムにアクセスしています。シェルをシャットダウンしても実行し続けるように、nohupを使用してプログラムを実行しました。シェルにログインするまで、データのログを記録し続けます。ただし、シェルを終了するとすぐに、ログファイルへの書き込みが停止します。私のプログラムは、ログファイルに書き込まないというだけで実行を続けます。ロギングにJava1.6+ slf4j+log4jを使用しています。OSはUbuntuです。

助けていただければ幸いです。

編集: 私のlog4j.properties

私が実行しているコマンドは次のとおりです。

0 投票する
2 に答える
205 参照

bash - 驚くほど単純な bash スクリプトのヘルプ

このスクリプトの何が問題なのか誰か教えてもらえますか? 最初に #!/bin/bash を実行する必要がありますか? また、このスクリプトを記述どおりに nohup できますか、それとも if-else ステートメントの nohup を削除する必要がありますか? bash の if-else と for ループのすべての構文を本当に知っているわけではありません...これが非常に単純な質問である場合は申し訳ありません。助けてくれてありがとう!

編集 (コメントからの更新の投稿)

1000 個のサブディレクトリがあり、その中にファイルが含まれている、actor というディレクトリのインデックスを作成しようとしています。Java プログラムは実行されますが、これらの 1000 個のディレクトリ (約 180 万個) 内のすべてのファイルを処理することはできません。一度にサブディレクトリを実行するスクリプトを書きたいと思います。

これを行うためにサーバーに ssh していますが、しばらく時間がかかるので、ドロップしないようにします。ヒープメモリが不足しているため、ディレクトリ全体でJavaプログラムを実行することはできません。これは最も効率的な Java コードではありませんが、このスクリプトが一度にサブディレクトリを実行している間に、その問題に対する別の解決策に取り組んでいます。

0 投票する
3 に答える
1373 参照

bash - ssh、nohup、結果のコピー

リモート マシンでの大規模な数学的計算ジョブの実行を自動化するスクリプトが必要です。現在、私はこれを行います:

  • sshリモートマシンへ。matlab スクリプトを実行する
  • 定期的にチェックインして、ジョブがまだ完了しているかどうかを確認します
  • 仕事が終わったらscp、結果を含むファイルを手動で自宅のマシンに戻します。

このジョブを実行するために、スクリプトでこれらの種類の行を使用しようとしました (スクリプトが私のマシンで実行されることに注意してください)。

これはうまくいきません。しばらくすると、ssh セッションが終了し、ジョブがまだ終了しておらず、ファイルがまだ存在していなくても、スクリプトは scp の実行に進みます。

私がする必要があるのは、おそらく定期的に ssh を実行し、grep を使用してシグナルをnohup.out探してファイルを読み取ることによって、ジョブが完了したかどうかを定期的に確認することだと思います。DONE!次に、それが表示されたら、ファイルをコピーして戻します。DONE!しかし、これは複雑なようで、メッセージをコンピューターに戻して条件付きで実行する方法がわかりません(DONE信号が表示された場合は、このようなことを行います...) 何かアイデアはありますか?