Process 如何在cygwin中终止进程?

Process 如何在cygwin中终止进程?,process,cygwin,kill,Process,Cygwin,Kill,嗨,我有以下我无法杀死的过程: 我正在windows xp 32位系统中运行cygwin 我已尝试发出以下命令: /bin/kill -f 4760 /bin/kill -9 5000 kill -9 5000 kill 5000 $ powershell kill -f 15916 当我写/bin/kill-f4760时,我得到一条消息,“kill:无法打开pid 4760” 当我写/bin/kill-95000时,我得到一条消息,“kill:5000:没有这样的进程” 我只是不明白为什

嗨,我有以下我无法杀死的过程:

我正在windows xp 32位系统中运行cygwin

我已尝试发出以下命令:

/bin/kill -f 4760
/bin/kill -9 5000
kill -9 5000
kill 5000
$ powershell kill -f 15916
当我写/bin/kill-f4760时,我得到一条消息,“kill:无法打开pid 4760”

当我写/bin/kill-95000时,我得到一条消息,“kill:5000:没有这样的进程”

我只是不明白为什么这个过程不能终止。 既然它有一个WINID,它不应该被/bin/kill-f 4760杀死吗


希望有人能帮助thx:)

进程很可能是从Windows锁定的。您得到的错误“无法打开PID XXX”指向这一点。 若要确认,请尝试使用windows taskkill终止它

    taskkill /PID 4760

不同的Windows程序将以不同的方式处理
kill
发送的信号;它们从来没有被设计成像Linux/Cygwin程序那样处理它们

杀死Windows程序的唯一可靠方法是使用特定于Windows的工具,如任务管理器或Process Explorer


也就是说,如果您还没有在管理员模式下运行Cygwin终端(右键单击快捷方式并选择“以管理员身份运行”)。

由@Donal Tobin提供的方法是正确的:

kill-f


但是,我不需要以管理员身份登录。

奇怪的是,以下功能在Cygwin中可以正常工作:

echo PID1 PID2 PID3 | xargs kill -f
$ kill -f 15916
bash: kill: (15916) - No such process
例如:

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

使用此行创建一个名为killall.sh的文件

ps -W | grep $1 | awk '{print $1}' | while read line; do echo $line | xargs kill -f; done;
alias killall="~/killall.sh"   (point it to the correct location)
然后给它执行权限

chmod 777 killall.sh
在.bash_配置文件中添加以下行

ps -W | grep $1 | awk '{print $1}' | while read line; do echo $line | xargs kill -f; done;
alias killall="~/killall.sh"   (point it to the correct location)
然后只需键入“killall[name]”

killall.sh-Kill by process name。 用法:
$killall

对于我来说,此命令在Cygwin中的Windows 10上不起作用:

echo PID1 PID2 PID3 | xargs kill -f
$ kill -f 15916
bash: kill: (15916) - No such process
您可以使用以下命令代替它:

/bin/kill -f 4760
/bin/kill -9 5000
kill -9 5000
kill 5000
$ powershell kill -f 15916

当我键入taskkill/PID 4760或taskkill/PID 5000时,我得到一个错误:“错误:找不到进程”4760。“当你从windows命令行执行任务列表时,你看到它了吗?| grep“dscli”?在windows 7上工作,我使用
$taskkill/F/PID
,如果我执行
$ps-a
1,则显示
。以管理员用户2身份启动cygwin。使用路径/bin/kill(kill是bashshell中的shell命令)3/bin/kill-f应该可以工作1。以管理员用户2的身份启动Cygwin终端。使用路径/bin/kill(kill在bashshell中是特殊的)3/bin/kill-9-f应该可以工作4。windows进程可能处于无法终止(例如正在调试)的状态。这里对我来说,重要的因素是
终止
中的
-f
参数。添加已停止“无此过程”错误的。谢谢