windows 上bash shell 怎么找后台进程

2017-06-23  本文已影响0人  微风玉米

今天一不小心关掉了bash shell, 发现生成本地静态服务器的后台进程没有关闭。然而jobsfg %1 命令已经找不到进程,且我只记住了port,忘记了这个后台进程的PID,所以在网上google 了老半天解决方式,其中大多数命令是 Linux 系统或 Mac 系统才有,而Windows 系统上的bash shell 没有,比如下面两个命令:

$ pgrep wget #wget 指的应用程序名称
1234

$ lsof -wni tcp:3000

$ fuser -k 3000/tcp

在试了众多命令之后,突然发现有一个命令会在bash shell 中产生乱码,而且其中某些命令参数是bash shell 没有的。

输出如下图:

乱码.PNG

乱码可能由于之前bash shell设置了编码的缘故,所以我打开了Windows 的命令行工具 cmd在中输入和上面同样的命令,得到一个关于netstat 命令参数的中文说明。阅读过后我将命令写成下面的方式:(这个命令在bash shell中可以正常显示)

netstat -naop TCP

输出如下图:

Windows 进程信息.PNG

这样就可以找到port 为3000 的PID为7392。但是得到的这个PID 是WINPID,我们还要再将这个PID 在bash shell通过如下命令进行一个查找。得到如下结果

ps aux | grep 7392

结果如图:

bash 获取进程.PNG bash 获取详细进程信息.PNG

这样就找到了真正的PID为7444 了,再 $ kill 7444 就大功告成。

上一篇下一篇

猜你喜欢

热点阅读