問題タブ [shutdown]
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.
delphi - Delphiプログラムをどのようにきれいに中止しますか?
シャットダウン中に問題が発生し、ソースまでさかのぼることができない例外が発生するプログラムがあります。タイミングに関連し、非決定論的であるように見えます。これは、すべての共有リソースが解放された後に発生します。シャットダウンされているため、メモリリークは問題になりません。そのため、共有リソースを解放した後、プログラムにただちにサイレントに終了するように指示する方法があるのではないかと思います。シャットダウンシーケンスを続行し、例外メッセージボックスを表示します。
誰かがそれを行う方法を知っていますか?
windows - SIGTERMの送信/キャッチのWin32APIアナログ
POSIX OSには、killでシャットダウンするために処理するシグナルを送信できるシグナルAPIがあり、sigactionでキャッチして、必要なことを実行できます。
ただし、Win32はPOSIXシステムではないため、次のようになります。
- たとえば、「タスクマネージャ」の「プロセスの終了」から発生する可能性のあるシャットダウンイベントを処理するにはどうすればよいですか?
- Win32アプリケーションにシャットダウン信号を送信するための標準APIは何ですか?
私はGUIについて話しているのではなく、うまくシャットダウンされるべきTCP/IPサーバーについて話しているのです。これはWindowsサービスのようには実行されません。
delphi - Delphi プログラムが Windows の正常なシャットダウンを妨げている
日記のテキストファイルを読み込んでメモに表示するだけの小さなプログラムがあります. それが実行されると(閉じても)、Windows XPは「Windowsがシャットダウンしています」まで到達します。「ユーザー設定の保存」などの後、ハングします。私が書いた他のプログラムとほとんど変わらないように見えるコードを調べましたが、これははるかに複雑ですが、何も問題はありません。たとえば、クローズルーチンには application.terminate が含まれています。私がそれらを使い果たしたように見えるので、何かアイデアはありますか?
c# - Windows メッセージを Windows サービスに送信する
「WM_ENDSESSION」のような Windows メッセージを Windows サービスに送信 (模倣) するツールはありますか?
また
C#を使用してWindowsメッセージをプロセスに送信するにはどうすればよいですか?
(C#しか知らない)
編集: 目的: 基本的に、システムのシャットダウン時にのみ発生するバグを修正するために Windows サービスをデバッグする必要があります。
c# - .NET フォームを開くと、Visual Basic 6.0 アプリケーションがシャットダウンしません。代わりに、「終了できません」というメッセージが表示されます
.NETで記述された複数のコンポーネントを使用するVisual Basic 6.0アプリケーションがあります。Windows がシャットダウンされると、アプリケーションは正常にシャットダウンする必要があります。問題は、コードの .NET 部分がウィンドウを表示している場合、アプリケーションが「終了できません」というメッセージを表示し、終了に失敗することです。(その後、OSによって終了されます。)
簡略化されたアプリケーションでこれを再現することができました。
.NET コードは、WPFウィンドウを作成し、ShowDialog() を使用して表示します。
ご覧のとおり、.NET 呼び出しがブロックされ (そして GUI スレッド上にあります)、これが問題の原因であると思われますが、すべての呼び出しを非ブロックにすることはできません。OS がシャットダウンすると、開いているすべてのアプリケーション ウィンドウが終了すると想定していました。
Visual Basic 6.0 アプリケーションは、ボタンをクリックするだけで .NET フォームをロードして表示します。
.NET フォームが画面に表示されている間に PC をシャットダウンしようとすると、失敗します。「終了できません」というメッセージ ボックスは次のようになります。
これを再作成するには、アセンブリをCOM可視としてマークする必要があります (ファイル内assemblyinfo.cs
):
Project->Properties>Build タブを「Register for COM interop」に設定する必要があります。
また、コンパイルされたアセンブリを次のように登録しました。
この問題を解決するにはどうすればよいですか?
wmi - (!) RPC サービスを使用しないリモート シャットダウン
コンピュータをリモートでシャットダウンするには、さまざまな方法があります。
私が知っているのは以下の3つです。
- リモート WMI 接続を介して Win32_OperatingSystem クラスの Shutdown メソッドを呼び出す
- Microsoft Windows shutdown.exe の使用
- (whatever).exe が自分自身をターゲット マシンのシステム フォルダーにコピーし、自分自身をサービスとして登録して、パラメーターを使用してリモートで起動し、ローカル シャットダウンを開始できるようにします。
番号 3は、sysinternals が行う理由です。たとえば、sysinternals がターゲットに自身をコピーしてサービスを呼び出すことができるように、ファイルとプリンターの共有をアクティブにする必要があります。
番号 2はほとんどどこでも機能しますが、ファイルとプリンターの共有を有効にする必要もあります。理由: これにより、シャットダウンをリモートで呼び出すために必要な RPC サービスがアクティブになります。
私の知る限り、ナンバー 1の WMI ソリューションでも、ターゲットに WMI をインストールするだけでなく、RPC サービスを有効にする必要があります。
私の問題は次のとおりです。RPCを有効にせずにリモート コンピュータをシャットダウンできるソリューションが必要です。
方法はありますか?
注: ビジネス ソリューションのコンテキスト内での方法 ;-)
c - Mac OSXで電源通知(特にシャットダウン)を受信する
私はCforthe Mac(Leopard)で、電源通知の受信時にスリープ、ウェイクアップ、シャットダウン、再起動などの作業を行う必要のあるアプリケーションを作成しています。launchd
ログイン時にlaunchagentとして実行され、通知の監視を開始します。これを行うために使用しているコードは次のとおりです。
ただし、スリープとウェイク(kIOMessageSystemWillSleep
およびkIOMessageSystemHasPoweredOn
)の上位2つだけが呼び出されます。再起動またはシャットダウン(kIOMessageSystemWillRestart
およびkIOMessageSystemWillPowerOff
)の通知を受け取ることはありません。
私は何か間違ったことをしていますか?または、再起動とシャットダウンの通知を受け取る別のAPIはありますか?私はそれをCプログラムとして保持したいと思います(それは私が精通しているものです)が、代替案の賢明な提案を受け入れます(私はログイン/ログアウトフックを見てきましたが、これらは非推奨になっているようです起動の)。
ヘルプ/ヒントを事前に感謝します!
service - Win32サービスでシステムがシャットダウンまたは再起動するのを防ぐ方法は?
ユーザーがシステムをシャットダウンまたは再起動できないようにしたい。私のアプリケーションは、Win32ネイティブサービス(C ++で記述)として、LocalSystemアカウントで実行されます。
その解決策について聞いたWM_QUERYENDSESSION
:隠しウィンドウを作成し、WM_QUERYENDSESSION
シャットダウンを防ぐためにキャプチャする。
しかし、このソリューションは実際にはクリーンではなく、デスクトップごとに1つのウィンドウを作成する必要があります。したがって、デスクトップを列挙し、デスクトップがいつ作成/破棄されたかについても注意する必要があります。これらすべてが状況を厄介にします!
シャットダウン/再起動イベントを検出し、システムのシャットダウン/再起動を防ぐ方法はありますか?
(イベントがシャットダウンまたは再起動することは重要ではありません。両方をキャンセルする必要があります!)
java - Javaシャットダウンフックスレッド内の終了ステータスを確認します
シャットダウンフックの実行時にプロセスの終了ステータスを確認したいと思います。
ステータスコード(0またはゼロ以外)に基づくロジックが必要です
(例:ゼロの場合は他に何もしません非ゼロはアラートメールを送信します)
この情報を入手する方法を知っていますか?