問題タブ [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.
bash - 2 つのプロセスを生成せずに別のユーザーとして nohup を実行するにはどうすればよいですか?
コマンドを nohup して別のユーザーとして実行しようとしていますが、これを行うたびに 2 つのプロセスが生成されます。
例えば:
これは間違いなく my_command を nobody として実行しますが、表示したくない余分なプロセスがあります。
root プロセスを強制終了しても、nobody プロセスは存続しますが、root プロセスをまったく実行しない方法はありますか? my_command の ID を取得してそれを強制終了するのは、もう少し複雑です。
ubuntu - サーバーがダウンしたときにnohupを使用しますか?
私は自分のコンピューターでテストを実行しています(私はUbuntuを使用しています)。これには最大30〜45分かかります。使用しているサーバーが(何らかの理由で)ダウンすると、テストが停止し、物乞いからすべてのテストをやり直す必要があります。サーバーがダウンしても、nohupを使用してもテストが実行され続けるかどうか疑問に思いました。
linux - Linux スクリプト - ログアウトしても実行し続けるには?
CS GO サーバーを開始したばかりで、ゲーム サーバーを作成するための GUI である TCAdmin を使用しますが、Counter Strike GO はベータ版であるため、あまりうまく機能しません。私の質問は、./srcds_run というスクリプトがあり、それを実行することです。完璧に動作します。しかし、ログアウトしてサーバーをそのままにしておくことができるように、バックグラウンド プロセスとして実行するにはどうすればよいでしょうか。
ありがとう、ネクロ。
linux - nohupと今の違い
nohupとat nowに違いはないように見えますが、もしかしたら微妙なところがあるのでしょうか?
bash - bashでウォッチドッグデーモンを作成するにはどうすればよいですか?
別のアプリケーションをループで実行し、死んだ場合に再起動するシェルスクリプトでデーモンを作成する方法が必要です。
- SSHセッションから使用
./myscript.shして実行すると、デーモンがすでに実行されている場合を除き、デーモンの新しいインスタンスが起動されます。 - SSHセッションが終了すると、デーモンは存続します。
./myscript -stop既存のデーモンを強制終了するパラメーター( )が必要です。
(編集に関する注記-元の質問では、nohupおよび同様のツールを使用できないことが指定されていました。この人為的な要件は「XY質問」であり、受け入れられた回答は、実際には、OPが使用できなかったと主張したすべてのツールを使用しています。)
bash - 別のアプリケーションを起動するスクリプトは、終了時にそれをダウンさせます
を使用して別のアプリケーションを起動するスクリプトがありますnohup my_app &が、最初のスクリプトが終了すると、起動されたプロセスもダウンします。それが実行されて以来、私の理解によれば、それnohupは起こらないはずです。元のスクリプトも nohup で呼び出されます。
何がうまくいかなかったのですか?
bash - nohup の出力エラーを syslog に送信する
nohup を使用してエラーを rsyslog に渡す bash スクリプトを作成しようとしています。
ログ変数のさまざまなバリエーション(以下を参照)でこのコマンドを試しましたが、出力を std txt ファイル以外に渡すことはできません。私はそれをパイプに入れることができません。
nohup 出力をパイプすることは可能ですか、それとも別のコマンドが必要ですか。
私が試したログのいくつかのバリエーション
また
また
java - jsch&nohup-プログラムが起動しない
jschと'nohupwith&'コマンドを使用してバックグラウンドでプログラムを開始したいと思います。これは私のコードです:
私が得る出力として:
しかし、プログラムは開始されていません。'&'がないと機能しますが、使用すると機能しません。同じ状況は、nohupコマンドを.shスクリプトに入れて実行した場合です。この問題を解決する方法はありますか?
前もって感謝します!
java - shスクリプトのnohupが機能しない
sh スクリプトに問題があります。バックグラウンドでJavaスクリプトを実行できるshスクリプトに取り組んでおり、実行する前に、現在実行されているかどうかを確認します。
コードは次のとおりです。
私が抱えている問題は、nohup ... &を設定するときに、バックグラウンドの jar ファイルで実行するために何もしていないことです。私が書く場合:
その後、動作します。私のjarファイルはQuartzライブラリ(Javaのスケジューラライブラリ)を使用しています.NohupとQuartzの間に互換性がないかどうか知っている人がいるかどうかはわかりません...
または、JVM 変数 ( -Dprops.dir=conf )の設定に何らかの問題がある可能性があります。
ありがとう!
bash - ssh経由でnohupで開始されたプロセスのPIDを取得します
ssh 経由でリモート マシン上で nohup を使用してプロセスを開始したいと考えています。問題は、nohup で開始されたプロセスの PID を取得する方法です。そのため、外部シェル インスタンスなどではなく、「実際に何かを実行しているプロセス」です。また、stdout と stderr をファイルに保存したいのですが、それはここでは問題ではありません...
ローカルでは、使用して問題なく動作します
コマンド「sleep 30」の正確な PID がエコーされます。これは、「top」または「ps aux|grep sleep」を使用して確認することもできます。
しかし、ssh経由でリモートで行うのに問題があります。私は次のようなものを試しました
しかし、「echo $!」をどこに置くべきかわかりません。ローカルシェルに表示されるようにします。たとえば、「bash」インスタンスなどの間違った PID が常に表示されます。
誰かがこれを解決する方法を考えていますか?
編集: OK、「bash -c」はここでは必要ないかもしれません。Lotharyx が指摘したように、私は正しい PID を使用して問題なく取得します
しかし問題は、「sleep 30」を「echo Hello World!」などの出力を生成するものに置き換えた場合、その出力はローカル側でもリモート側でもファイル「out」に終わらないことです。誰でも理由がわかりましたか?
EDIT2:私のせいです!他のデバイスにはスペースが残っていなかったため、ファイル「out」と「err」は空のままでした!
これは機能しています。さらに、セミコロン (;) で区切られた複数のコマンドを続けて呼び出したい場合は、次のように「bash -c」を使用できます。
次に、ローカル側の「bash -c」の PID を出力しますが、これで問題ありません。(「最も内側」または「ビジー」なプロセスの PID を取得することは不可能です。すべてのプログラム自体が新しいサブプロセスを生成する可能性があるため、見つける方法がありません...)