問題タブ [watchdog]
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.
.net - Windows .Net アプリケーション クラッシュ ウォッチドッグ
展示用の小さなキオスク アプリケーションを作成しています。私は .Net & C# で開発し、コンピューターは Windows 7 を実行します。
さて、プロセスを強制終了し、ハングした場合に再起動するある種のウォッチドッグをセットアップする最も簡単な方法は何ですか. または、例外が発生した場合、エラー ウィンドウを閉じてアプリケーションを再起動しますか?
ありがとう!
python - Windows ファイル システム用のウォッチドッグ Python スクリプト
Windows用のpythonウォッチドッグを使用して小さな通知スクリプトを書きたいと思います。スクリプトは実行する必要があります-ディレクトリを監視し、ファイルが作成されるたびに-ファイル名を引数として渡すexeをトリガーします。
これは、Windowsの場合、「たくさんの運が必要です!!!」と言っています。http://packages.python.org/watchdog/installation.html#installation-dependencies どれほど信頼できるか、または簡単でしょうか? 誰もがWindows pythonでそのようなことを試しました..何か提案はありますか? http://pypi.python.org/pypi/watchdog
linux - Linuxソフトウェアウォッチドッグの使い方は?
Linuxでソフトウェアウォッチドッグを処理する方法を教えてもらえますか?
継続的に実行されるプログラムSampleApplication
があり、予期せずハングしたり閉じたりした場合は、プログラムを再起動する必要があります。
私はこれについてグーグルで調べていて、Linuxにはウォッチドッグ/dev/watchdog
があることがわかりましたが、その使用方法がわかりません。誰かが例を教えてくれませんか?
私の質問は、アプリケーション名と再起動の遅延間隔をどこで指定するかです。
ios - デバッグモード用に iOS でウォッチドッグを有効にできますか?
起動時間の制限を超えたため、アプリの 1 つが拒否されました。ウォッチドッグプロセスがそれを殺しました。このウォッチドッグ コンポーネントをデバッグ モードで有効にする方法はありますか? デバッグ目的で無効になっていることをどこかで読んだことがあります(これは私には論理的だと思われます)。何らかの設定などで手動で有効にできるかどうか疑問に思っています。
ところで、私はこの問題を解決する方法を知っています。起動コード全体をバックグラウンド スレッドに移動するとうまくいきました。
誰でもアイデアを得ましたか?
timeout - Xbeeはコーディネーターの検索を停止しますか?
2つのXbeeモジュール間の正常な通信をアサンブルしようとしています。やりたいことは成功しましたが、わからない問題があります。X-CTUには2つのパラメーターがあり、混乱します。
JV-チャネル検証
NW-ネットワークウォッチドッグタイムアウト
私はデータシートからすべての指示を読みました、私は何度もグーグルで検索しました、しかし私は重要な解決策を見つけることができませんでした。私の問題は何ですか?私はいくつかの「最悪のケース」に取り組んでいます。今のところ、私にとって最悪のケースは、コーディネーターの開始からloooonglooong時間の前にルーターを開始することです。JV=0およびNW=1に設定することでこの問題を解決しました。しかし、JV = 1、NW = 1に設定し、ルーターの後でコーディネーターを長時間(たとえば、30分)開始した場合、ルーターは試行しません。コーディネーターを探す。なぜこうなった?Xbeeで何が起こっているのか理解できませんでした。
python - 絶対確実なクロスプラットフォームプロセスキルデーモン
telnet
linuxscript
コマンドでログに記録するセッションを生成するPython自動化がいくつかあります。script
ロギングセッションごとに2つのプロセスID(親と子)があります。
Python自動化スクリプトが停止した場合、script
セッションが自動的に閉じられないという問題を解決する必要があります。何らかの理由で、これは本来よりもはるかに困難です。
これまでに、watchdog.py
それ自体をデーモン化し、Python自動化スクリプトのPIDをループでポーリングする実装を行いました(質問の下部を参照)。script
Python自動化PIDがサーバーのプロセステーブルから消えることを確認すると、セッションを強制終了しようとします。
私の問題は:
script
セッションは常に2つの別々のプロセスを生成し、一方のscript
セッションはもう一方のセッションの親ですscript
。watchdog.py
自動化スクリプトからセッションscript
を開始した場合、子セッションは強制終了されません(以下の自動化の例を参照)。script
自動化の例(reproduce_bug.py
)
上記の自動化を実行するとどうなるかの例...PID30017が30018を生成し、PID30020が30021を生成することに注意してください。前述のPIDはすべてscript
セッションです。
上記の自動化を実行した後、すべての子script
セッションはまだ実行されています。
私はPython2.6.6で、Debian Squeeze linuxシステム(uname-a:)で自動化を実行していますLinux Hotcoffee 2.6.32-5-amd64 #1 SMP Mon Jan 16 16:22:28 UTC 2012 x86_64 GNU/Linux
。
質問:
デーモンはスポーンプロセスのクラッシュに耐えられないようです。自動化が停止した場合(上記の例に示すように)、watchdog.pyを修正してすべてのスクリプトセッションを閉じるにはどうすればよいですか?
問題を説明するwatchdog.py
ログ(残念ながら、PIDは元の質問と一致しません)...
解像度
問題は本質的に競合状態でした。私が「親」プロセスを殺そうとしたときscript
、それらは自動化イベントと同時にすでに死んでいた...
この問題を解決するには...まず、ウォッチドッグデーモンは、監視対象のPIDをポーリングする前に、強制終了する子のリスト全体を特定する必要がありました(私の元のスクリプトは、監視対象のPIDがクラッシュした後に子を特定しようとしました)。次に、監視script
されたPIDで一部のプロセスが停止する可能性を考慮して、ウォッチドッグデーモンを変更する必要がありました。
watchdog.py:
c++ - ウォッチドッグタイマー
WDT に似たコードを書く方法はありますか? 何か提案や src コードがあれば大歓迎です。適切な解決策が見つかりません。
私がウェブで得た回答は、ほとんど特定のチップセットに関するものです。しかし、WDTのような実装が必要です。ご存知のように、WDT は初期値からゼロまでカウントダウンするカウンターです。最小値に達する前に、プログラムは応答する必要があります。そうでない場合、割り込みが発生します。
コードが正しく動作するかどうかわかりません! 使用したい言語は C/C++ です。
python - リモートネットワークの変更を通知しないウォッチドッグ(osx)
私はWatchdogを使用して、時間の経過とともに作成される特定のパターンのファイルについて、非再帰的なネットワークディレクトリを監視しています。私が見ている問題は、ローカルでテストすると素晴らしい動作をしますが、リモートマシンから監視対象ディレクトリに変更を加えても、イベントがトリガーされないことです。
これが私の構成の具体的な詳細です:
- OSX
- NFSマウントで、再帰的ではない単一のディレクトリを監視する
- Python 2.6
私の問題の例は、ストックサンプルスニペットを使用して簡単に再現できます。
これをネットワークディレクトリで開始し、同じシステムから変更を加えると、イベントがディスパッチされます。ただし、ネットワーク上の別のマシンからディレクトリに変更を加えた場合、イベントはディスパッチされません。
kqueueの制限に関する何かが欠けていますか(または、Watchdogによって最初に優先されると言われているため、OSXのFSEventsである可能性があります)?
私はこのpythonパッケージに夢中になり、ファイルシステムのポーリングを置き換える他のスクリプトに使用し始めようとしていましたが、この問題が発生する理由に関する情報が見つからないようです。
アップデート
MacFSEventsもテストしましたが、同じ問題が発生しました。次に、上記のテストスクリプトを変更して、さまざまなオブザーバーを強制的に試行しました。
したがって、少なくとも今のところ、誰かが私が抱えている実際の問題に光を当てるまで、ポーリングオブザーバーを使用でき、コードを変更する必要はありません。
vb.net - VB.NET でアプリケーションがハングしているかどうかをプログラムで確認する方法
一連のアプリケーションをチェックするための監視/ウォッチドッグ プログラムを作成する必要があります。
監視プログラムは、次のことができる必要があります。
- 監視しているアプリケーションがハングしているか、応答がないかを確認します
- ハングした場合は、特定のアプリケーションを再起動します
VB.NET のどのような API がこれを実現するのに役立ちますか?
コードサンプルは非常に役立ちます
linux - Linux NMI ウォッチドッグについて
Linux NMI Watchdog に関する問題が発生しました。Linux NMI ウォッチドッグを使用して、OS のハングを検出して回復したいと考えています。そこで、grub.cfg に「nmi_watchdog=1」を追加します。そして、/proc/interruptを確認すると、NMI が 1 秒ごとにトリガーされました。しかし、モジュールをデッドロック (二重取得スピンロック) でロードした後、システムは完全にハングアップし、何も起こりません (決してパニックにならないでください!)。NMI ウォッチドッグが機能しなかったようです。
次に、Documentation/nmi_watchdog.txt を読みました。
ローカル APIC を使用する場合、生成される NMI 割り込みの頻度はシステムの負荷に依存することに注意してください。ローカル APIC NMI ウォッチドッグには、より適切なソースがなく、「cycles unhalted」イベントが使用されます。
" cycles unhalted " イベントとは何ですか?
それは追加しました:
ただし、システムが「hlt」プロセッサ命令以外でロックした場合、クロック ティックごとに「cycles unhalted」イベントが発生するため、すぐにウォッチドッグがトリガーされます...「hlt」でロックした場合はアウトです。幸運なことに、イベントはまったく発生せず、ウォッチドッグはトリガーされません。
プロセッサが「hlt」命令を実行すると、ウォッチドッグがトリガーされないように思われるので、「 Intel 64 and IA-32 Architectures Software Developer's Manual, Volumn 2A 」で「hlt」を検索すると、次のように説明されています。
命令の実行を停止し、プロセッサを HALT 状態にします。有効な割り込み (NMI および SMI を含む)、デバッグ例外、BINIT# 信号、INIT# 信号、または RESET# 信号が 実行を再開します。
それから私は迷っています...
私の質問は:
- Linux NMI ウォッチドッグはどのように機能しますか?
- 誰が NMI をトリガーしますか?
私のOSはUbuntu 10.04 LTS、Linux-2.6.32.21、CPU Pentium 4 Dual-core 3.20 GHzです。
NMI ウォッチドッグに関するソース コード全体を読みませんでした (時間がありません)。NMI ウォッチドッグがどのように機能するかを理解できなかった場合は、代わりにパフォーマンス監視カウンター割り込みとプロセッサ間割り込み(APIC によって提供される) を使用して NMI を送信します。 NMIウォッチドッグの。