問題タブ [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.
python - ファブリックは nohup でリモート スクリプトを呼び出すことができません
リモートサーバーには、次のようなスクリプト test.sh があります。
ローカルから「fab runtest」を実行して、リモートの test.sh を呼び出します。
「I'm here!」という出力は得られますが、リモート サーバーでスリープ プロセスが見つかりません。私は何を取りこぼしたか?
ありがとう!
session - ターミナルを閉じたときにバックグラウンドプロセスグループが死ぬ理由
このよくある質問 (および他の多くの本) によると:
ftp://rtfm.mit.edu/pub/faqs/unix-faq/programmer/faq
1.15 親プロセスが終了したときにプロセスが SIGHUP を取得しないのはなぜですか?
どのプロセスも「停止」していない場合、SIGHUP はバックグラウンド プロセスに送信されません。
しかし、バックグラウンド プロセスで SIGHUP がキャプチャされない場合、端末 (または ssh などの接続) を閉じると、SIGHUP が終了することは誰もが知っています。
つまり、CTRL+Z - bg は、ターミナルが閉じられたときにプロセスが存続するのに十分ではありません。
しかし、なぜ?どんな知恵も大歓迎です!
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の下で実行されたときにクラッシュを引き起こさないように設定する方法はありますか?
python - Pythonからプログラムを実行し、スクリプトが強制終了された後も実行を継続します
私はこのようなものを実行しようとしました:
これは、親スクリプトが正常に終了した場合に機能しますが、スクリプトを強制終了すると(Ctrl-C)、すべての子プロセスも強制終了されます。これを回避する方法はありますか?
私が気にかけているプラットフォームは、Python2.6とPython2.7を使用するOSXとLinuxです。
bash - bashスクリプト内にnohupを含める方法は?
nohupコマンドで常に実行したいmandacalcという大きなスクリプトがあります。コマンドラインから次のように呼び出す場合:
すべてが迅速に実行されます。しかし、コマンド内にnohupを含めようとすると、実行するたびに入力する必要がなくなり、エラー メッセージが表示されます。
これまでのところ、次のオプションを試しました。
また:
これまでのところ、 nohupコマンドの実装、またはスクリプト内で使用されている他の引用符について不平を言うエラー メッセージしか表示されません。
乾杯。
ssh - jsch ChannelExec nohup で .sh スクリプトを実行し、いくつかのコマンドを「失う」
Windowsアプリケーションからjsch ChannelExecによって呼び出される、他の多くのスクリプトを接着する.shスクリプトがあります。
「nohup /foo/bar/foobar.sh >> /path/to/foo.log &」のようなコマンドを実行すると、すべての長期的なジョブ (データベース操作、ファイル処理など) が失われるようです。
ログファイルをチェックして、それらのエコーのものだけを見つけます(長時間の操作の前後、実行時間の計算など)。
アクセス許可 $PATH を確認し、ソース /etc/profile を .sh に追加しましたが、これらはどれも機能しません。
しかし、コマンドを通常どおり実行すると(同期実行、すべてのエコー出力をWindows上のJavaクライアントに出力)、すべてうまくいきます。
それは本当に具体的な問題です。経験のある人が私を助けてくれることを願っています。
少し早いですがお礼を。
ハン
process - nohup なしでプロセスを維持する
サーバーでスクリプトを開始し、nohup を使用しませんでしたが、切断する必要があります。実行し続ける方法はありますか?その長い 27 時間のプロセス。
java - JavaロギングとUnixNohupの問題
あるアクションでテキストデータをファイルに記録する小さなプログラムを作成しました。Puttyによってプログラムがデプロイされているリモートシステムにアクセスしています。シェルをシャットダウンしても実行し続けるように、nohupを使用してプログラムを実行しました。シェルにログインするまで、データのログを記録し続けます。ただし、シェルを終了するとすぐに、ログファイルへの書き込みが停止します。私のプログラムは、ログファイルに書き込まないというだけで実行を続けます。ロギングにJava1.6+ slf4j+log4jを使用しています。OSはUbuntuです。
助けていただければ幸いです。
編集: 私のlog4j.properties
私が実行しているコマンドは次のとおりです。
bash - 驚くほど単純な bash スクリプトのヘルプ
このスクリプトの何が問題なのか誰か教えてもらえますか? 最初に #!/bin/bash を実行する必要がありますか? また、このスクリプトを記述どおりに nohup できますか、それとも if-else ステートメントの nohup を削除する必要がありますか? bash の if-else と for ループのすべての構文を本当に知っているわけではありません...これが非常に単純な質問である場合は申し訳ありません。助けてくれてありがとう!
編集 (コメントからの更新の投稿)
1000 個のサブディレクトリがあり、その中にファイルが含まれている、actor というディレクトリのインデックスを作成しようとしています。Java プログラムは実行されますが、これらの 1000 個のディレクトリ (約 180 万個) 内のすべてのファイルを処理することはできません。一度にサブディレクトリを実行するスクリプトを書きたいと思います。
これを行うためにサーバーに ssh していますが、しばらく時間がかかるので、ドロップしないようにします。ヒープメモリが不足しているため、ディレクトリ全体でJavaプログラムを実行することはできません。これは最も効率的な Java コードではありませんが、このスクリプトが一度にサブディレクトリを実行している間に、その問題に対する別の解決策に取り組んでいます。
bash - ssh、nohup、結果のコピー
リモート マシンでの大規模な数学的計算ジョブの実行を自動化するスクリプトが必要です。現在、私はこれを行います:
ssh
リモートマシンへ。matlab スクリプトを実行する- 定期的にチェックインして、ジョブがまだ完了しているかどうかを確認します
- 仕事が終わったら
scp
、結果を含むファイルを手動で自宅のマシンに戻します。
このジョブを実行するために、スクリプトでこれらの種類の行を使用しようとしました (スクリプトが私のマシンで実行されることに注意してください)。
これはうまくいきません。しばらくすると、ssh セッションが終了し、ジョブがまだ終了しておらず、ファイルがまだ存在していなくても、スクリプトは scp の実行に進みます。
私がする必要があるのは、おそらく定期的に ssh を実行し、grep を使用してシグナルをnohup.out
探してファイルを読み取ることによって、ジョブが完了したかどうかを定期的に確認することだと思います。DONE!
次に、それが表示されたら、ファイルをコピーして戻します。DONE!
しかし、これは複雑なようで、メッセージをコンピューターに戻して条件付きで実行する方法がわかりません(DONE
信号が表示された場合は、このようなことを行います...) 何かアイデアはありますか?