タグ付けされた質問 「background-process」

14
Node.jsをバックグラウンドプロセスとして実行して死なない方法
パテSSH経由でLinuxサーバーに接続します。私はそれをこのようなバックグラウンドプロセスとして実行しようとしました: $ node server.js & ただし、2.5時間後、ターミナルは非アクティブになり、プロセスは終了します。とにかくターミナルが切断されていてもプロセスを存続させることができますか? 編集1 実際、私はを試しましたnohupが、Putty SSHターミナルを閉じるかインターネットのプラグを抜くとすぐに、サーバープロセスはすぐに停止します。 パテでやらなければならないことはありますか? 編集2(2012年2月) 永遠にnode.jsモジュールがあります。node.jsサーバーをデーモンサービスとして実行します。

7
バックグラウンドプロセスのプロセスIDを取得する方法
シェルスクリプトからバックグラウンドプロセスを開始し、スクリプトが終了したらこのプロセスを強制終了したいと思います。 シェルスクリプトからこのプロセスのPIDを取得するにはどうすればよいですか?私が見る限り、変数$!にはバックグラウンドプロセスではなく、現在のスクリプトのPIDが含まれています。

20
LinuxでSSHクライアントを閉じた後にバックグラウンドプロセスが停止しないようにする方法
SSH(Putty)を介してLinuxマシンで作業しています。プロセスを夜間実行したままにする必要があるので、プロセスをバックグラウンドで開始し(コマンドの最後にアンパサンドを付けて)、stdoutをファイルにリダイレクトすることでそれができると思いました。 驚いたことに、それはうまくいきません。Puttyウィンドウを閉じるとすぐに、プロセスが停止します。 どうすればそれを防ぐことができますか?

14
iOSアプリケーションでn分ごとにバックグラウンドで位置情報を更新するにはどうすればよいですか?
iOSアプリケーションでバックグラウンドで位置情報をn分ごとに更新する方法を探しています。私はiOS 4.3を使用していますが、このソリューションはジェイルブレイクされていないiPhoneでも機能するはずです。 私は次のオプションを試しました/検討しました: CLLocationManager startUpdatingLocation/startMonitoringSignificantLocationChanges:これは、構成されたプロパティに基づいて、期待どおりにバックグラウンドで機能しますが、n分ごとに場所を強制的に更新することはできないようです NSTimer:アプリがフォアグラウンドで実行されているときに機能しますが、バックグラウンドタスク用に設計されていないようです ローカル通知:ローカル通知はn分ごとにスケジュールできますが、現在の場所を取得するためにコードを実行することはできません(ユーザーが通知を介してアプリを起動する必要がない場合)。これは通知を使用する必要がある方法ではないため、この方法もクリーンな方法ではないようです。 UIApplication:beginBackgroundTaskWithExpirationHandler:私が理解している限り、これは、「長時間」バックグラウンドプロセスを実装するのではなく、アプリがバックグラウンドに移動したときに、バックグラウンド(時間も限られています)で一部の作業を完了するために使用する必要があります。 これらの定期的なバックグラウンドの場所の更新を実装するにはどうすればよいですか?

8
バックグラウンドでシェルスクリプトを実行して出力を取得しない方法
2つのシェルスクリプトa.shとを作成しましたb.sh。ではa.shとb.sh私はループの無限を持っていると、彼らはいくつかの端末に出力を印刷します。私は両方を呼び出す別のスクリプトを書きたいa.shとb.sh私は、ユーザーがすぐに端末の制御を取り戻したい、ではなく無限にスクリプトの実行を持つのと私は、端末での出力を非表示にしたいです。

1
なぜgitが「最適なパフォーマンスのためにバックグラウンドでリポジトリを自動パッキングする」ことを通知し続けるのですか?
注:これはこの質問の複製ではないと思います。これは、微妙に異なるエラーメッセージで git をハングさせる非バックグラウンドパックについて話しているものです。 私のgitリポジトリの1つで、(たとえば)を呼び出すたびにgit fetch、gitは次のように出力します。 Auto packing the repository in background for optimum performance. See "git help gc" for manual housekeeping. git fetch変更がなく、何もする必要がない場合でも、繰り返し実行すると、毎回このように表示さgit fetchれます。これは私にはあまり意味がありません。git pushおよびなどの他のネットワーク操作でも発生するようgit pullです。 コマンドは即座にプロンプ​​トに戻り、それ以上の出力はありません。マシンで実行されているgitプロセスを見つけることができません。このリポジトリでのみ発生し、このマシンでのみ発生するようです。git config -l | grep gc何も返しません。 この問題を診断または修正するにはどうすればよいですか? $ git --version git version 2.0.1 OS X 10.9を使用しています。

5
サーブレットベースのWebアプリケーションでバックグラウンドタスクを実行する方法
Javaを使用していて、アプリケーションでサーブレットを継続的に実行したいのですが、方法がわかりません。私のサーブレットには、データベース全体からのユーザーの合計数だけでなく、データベースからのユーザー数を毎日提供するメソッドがあります。そのため、サーブレットを継続して実行したいと考えています。

6
Node.jsのバックグラウンドプロセス
NodeJSアプリケーションでバックグラウンドプロセスを処理する良いアプローチとは何ですか? シナリオ:ユーザーがアプリに何かを投稿した後、データをクランチしたり、外部リソースから追​​加のデータを要求したりします。これらはすべて非常に時間がかかるため、req / resループから除外します。理想的には、ジョブをすぐにダンプできるジョブのキューを用意し、デーモンまたはタスクランナーが常に最も古いジョブを取得して処理することです。 RoRでは、Delayed Jobのようなものでそれを実行したでしょう。このAPIに相当するNodeは何ですか?

10
スレッドを使用してIISで長時間実行されるジョブを実行できますか?
ASP.Netアプリケーションでは、ユーザーがWebページのボタンをクリックすると、イベントハンドラーを介してサーバー上のオブジェクトがインスタンス化され、オブジェクトのメソッドが呼び出されます。メソッドは外部システムに移動して処理を実行しますが、これにはしばらく時間がかかる場合があります。したがって、私がやりたいのは、そのメソッド呼び出しを別のスレッドで実行して、「リクエストが送信されました」というメッセージでユーザーに制御を戻すことができるようにすることです。ユーザーがオブジェクトのステータスをポーリングし続けることができればさらに良いでしょうが、私はこれをファイアアンドフォーゲットとして行うことをかなり嬉しく思います。 私が知らないのは、ユーザーセッションが期限切れになっても、IISがスレッドの実行を継続できるかどうかです。ユーザーがイベントを起動し、サーバー上でオブジェクトをインスタンス化し、新しいスレッドでメソッドを起動するとします。ユーザーは「リクエストが送信されました」というメッセージに満足し、ブラウザを閉じます。最終的に、このユーザーセッションはIISでタイムアウトしますが、スレッドはまだ実行中であり、作業を行っている可能性があります。IISはスレッドの実行を継続できるようにしますか、それともユーザーセッションの期限が切れるとスレッドを強制終了してオブジェクトを破棄しますか? 編集:回答とコメントから、これを行う最善の方法は、実行時間の長い処理をIISの外部に移動することであると理解しています。他のすべてとは別に、これはappdomainリサイクルの問題を扱います。実際には、限られた時間でバージョン1をリリースする必要があり、既存のフレームワーク内で作業する必要があるため、サービスレイヤーを避けたいため、IIS内のスレッドを起動するだけで済みます。実際には、ここでの「長時間実行」は数分で、Webサイトの同時実行性は低くなるため、問題ないはずです。ただし、次のバージョンでは、別のサービスレイヤーに分割する必要があります。

5
バックグラウンドプロセスでConnectionExceptionではなくRejectionExceptionをスローするGuzzle
複数のキューワーカーで実行されるジョブがあり、Guzzleを使用したHTTPリクエストがいくつか含まれています。ただし、GuzzleHttp\Exception\RequestExceptionこれらのジョブをバックグラウンドプロセスで実行しているときに、このジョブ内のtry-catchブロックが取得されないようです。実行中のプロセスは、php artisan queue:workキューを監視してジョブを取得するLaravelキューシステムワーカーです。 代わりに、スローされる例外GuzzleHttp\Promise\RejectionExceptionはメッセージの1つです。 プロミスは次の理由で拒否されました:cURLエラー28:受信した0バイトで30001ミリ秒後に操作がタイムアウトしました(https://curl.haxx.se/libcurl/c/libcurl-errors.htmlを参照 ) これは実際には偽装されていますGuzzleHttp\Exception\ConnectException(https://github.com/guzzle/promises/blob/master/src/RejectionException.php#L22を参照)。これは、通常のPHPプロセスで同様のジョブを実行すると、 URL、私はConnectExceptionメッセージで意図したとおりに取得します: cURLエラー28:100ミリ秒後に操作がタイムアウトし、0バイトのうち0バイトが受信されました(https://curl.haxx.se/libcurl/c/libcurl-errors.htmlを参照 ) このタイムアウトをトリガーするサンプルコード: try { $c = new \GuzzleHttp\Client([ 'timeout' => 0.1 ]); $response = (string) $c->get('https://example.com')->getBody(); } catch(GuzzleHttp\Exception\RequestException $e) { // This occasionally gets catched when a ConnectException (child) is thrown, // but it doesnt happen with RejectionException because it is …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.