web-dev-qa-db-ja.com

cygwinでプロセスを強制終了する方法は?

こんにちは私は殺すことができない次のプロセスがあります:

The process to be killed.

Windows XP 32ビットでcygwinを実行しています。

次のコマンドを発行しようとしました。

/bin/kill -f 4760
/bin/kill -9 5000
kill -9 5000
kill 5000

/ bin/kill -f 4760と入力すると、「kill:cand open the pid 4760」というメッセージが表示されます。

/ bin/kill -9 5000と書くと、「kill:5000:No such process」というメッセージが表示されます。

このプロセスを殺すことができない理由がわかりません。 WINIDを持っているので、/ bin/kill -f 4760によって殺されるべきではありませんか?

誰かがTHXを助けることができることを願っています:)

30
Diemauerdk

ほとんどの場合、プロセスはWindowsからロックされています。 「PID XXXを開くことができませんでした」というエラーは、これを示しています。確認するには、Windows Taskkillで強制終了してください

    taskkill /PID 4760
23
kjp

奇妙なことに、以下はCygwinで動作します:

echo PID1 PID2 PID3 | xargs kill -f

例えば:

ps -W | grep WindowsPooPoo | awk '{print $1}' | while read line; do echo $line | xargs kill -f; done;
10
nino

異なるWindowsプログラムは、killが異なる方法で送信するシグナルを処理します。 Linux/Cygwinプログラムと同じ方法でそれらに対処するように設計されたことはありません。

Windowsプログラムを強制終了する唯一の信頼できる方法は、タスクマネージャーやプロセスエクスプローラーなどのWindows固有のツールを使用することです。

そうは言っていませんが、Cygwinターミナルを管理者モードで実行するとうまくいくかもしれません(ショートカットを右クリックして[管理者として実行]を選択します)。

2
me_and

この行でkillall.shというファイルを作成します

ps -W | grep $1 | awk '{print $1}' | while read line; do echo $line | xargs kill -f; done;

次に、実行権限を付与します。

chmod 777 killall.sh

.bash_profileに次の行を追加します

alias killall="~/killall.sh"   (point it to the correct location)

次に、「killall [name]」と入力するだけです。

2
Rob Schlackman

@Donal Tobinが提示する方法は正しい:

kill -f <pid>

ただし、管理者としてログインする必要はありません。

1
Navid

killall.sh-プロセス名によるキル。

#/bin/bash
ps -W | grep "$1" | awk '{print $1}' | xargs kill -f;

使用法:

$ killall <process name>
1
Tony O'Hagan

私にとって、このコマンドしない CygwinのWindows 10で動作します:

$ kill -f 15916
bash: kill: (15916) - No such process

その代わりに、次のコマンドを使用できます。

$ powershell kill -f 15916
$ netstat -ano | grep ':8080' | awk '{print $5}' | xargs powershell kill -f
$ netstat -ano | grep ':8080' | awk '{print $5}' | while read pid; do powershell kill -f $pid; done;
$ netstat -ano | grep ':8080' | awk '{sub(/\r/,"",$5) ; print $5}' | while read pid; do taskkill /F /PID $pid; done;
SUCCESS: The process with PID 15916 has been terminated.
0
Serhii Popov