「インスタンスを持たない」タスクを強制終了するにはどうすればよいですか?


19

Spotifyは最初に自分自身を殺しましたが、PID 8664でタスクとして検出可能な「何かの」が長続きし、RAM使用量が時々変化し続けるという事実から判断します-それは「何かをしました」。

さて、Spotifyはこのインスタンスがぶらぶらしているために再起動を拒否したため、このプロセスの最初に音楽を聴くことができませんでした。

だから私はこのプロセスを取り除こうとしました。ただし、タスクマネージャーもtaskkillコマンド(もちろん管理者として)も成功しませんでした。

taskkillは少なくともここに翻訳する「理由」を与えてくれました。

>taskkill /pid 8664 /f
>taskkill /im spotify.exe /f

両方が与えた:

ERROR: The process "spotify.exe" with PID 8664 could not be terminated.
Reason: There is currently no instance executed by this task.

その意味と、そのようなプロセスを終了する別の方法があるかどうかを知りたいです。

(Windows 7 Pro 64ビット)


これは、Spotifyが実行されていないか、プロセスIDが間違っていることを意味します。Windowsでプロセスを「隠す」ことはできません。問題のプロセスIDをどのように判断したかは、Spotifyに関係していました。
ラムハウンド

「隠された」ものはなく、PIDは正しかった
ラファエル

1
@Ramhound、「Windowsでプロセスを「隠す」ことはできません」について。たとえば、この質問security.stackexchange.com/questions/84385/…またはこの質問security.stackexchange.com/questions/24848/…
user100487

@ user100487-プロセスを非表示にするためにできることは絶対にありません。私の知る限り、それを見つけることができません。これらのリンクされた回答に記載されているすべての方法には回避策があり、場合によっては問題が発生する可能性がありますが、解決策を考え出すことができます。 できれば誰でもできます。 あなたのコメントは結局建設的ではないので、この古い、迷惑な質問に私にpingを
送ら

1
確かに「すべてのプロセスを見つけることができます」。ただし、OPが言及したツール(Windowsタスクマネージャーまたはタスクキル)のみを使用している場合、ビューから非表示にすることができます。それで全部です。
user100487

回答:


12

プロセスはほぼ確実にすでに停止しています。つまり、コードを実行しなくなっています。ただし、それに関するブックキーピングは、それに対するすべてのハンドルとその各スレッドが閉じられるまで消えません。このようなハンドルを開いたままにする別のプログラムがあるか(ウイルス対策プログラムが犯人である可能性が高い)、または現在ハングしているカーネルモードドライバーに死ぬ前に要求を行った可能性があります(これを引き起こすCDドライブがあったことがあります)ロット)。さらに読む:「プロセスが強制終了された後、タスクマネージャーに残るのはなぜですか?」そして、「なぜ、近くの死を長引く、これらすべてのプロセスがある、と生きている彼らを保っているでしょうか?」

Spotifyは、自身のコピーがすでに実行されているのを検出したため、再度起動することを拒否しますが、明らかに、と呼ばれる別のプロセスを探すだけspotifyです。(シングルインスタンスアプリケーションは、レイモンドチェンの言葉によると、それ自体のサービス拒否です。)これを修正する最も簡単な方法は、すべてのハンドルと簿記を消去するため、コンピューターを再起動することです。

ただし、Fixing It Yourself TMを本当に好む場合は、Sysinternalsの非常に便利な無料ユーティリティであるProcess Explorerをダウンロードしてください。(所属していません。)実行し、インストールは不要で、EULAに同意します。[ファイル]で、[ すべてのプロセスの詳細を表示]を選択します。これにより、Process Explorerは管理者として再起動します。次に、[ 検索]で[ハンドルまたはDLLの検索]を選択します。ゾンビ(井戸、死体)プロセスの名前を入力し、検索を押します。

ハンドルの検索

[プロセス]列と[PID]列は、ハンドルを所有しているプロセスを示します。[タイプ]列は、それがどのようなものかを示しています。Process型またはThread型のものに興味があります。[名前]列には、ハンドルの目的が示されます。(多くのプロセスは自身のハンドルを所有しています。カーネルモードで所有アプリケーションが問題なく終了すると、これらのハンドルはなくなります。)

危険:アプリケーションが本当に必要とするハンドルを閉じることは、それをクラッシュさせる素晴らしい方法です。可能であれば、ハンドルを所有するアプリケーションを終了します。しかし、できない場合、またはハンマーで物を打つ気分になったら...

その検索ウィンドウのエントリをクリックして、ハンドルペインを開きます。そのペインで新しく強調表示されたエントリを右クリックし、「ハンドル閉じる」を選択して存在しないようにします。

すべてのハンドルが閉じられると、プロセスは消滅します。


私は非常に簡単に作業ProcessExplorerがハングにこれを得ることができませんでしたし、私は私が閉じる可能性がハンドルを持っていたどのプロセスがなかった
マシュー・ロック

2
すべてのスレッドに対するすべての処理を閉じましたが、問題は解決しませんでした。
トマーシュザト-復活モニカ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.