美文网首页
windows 上bash shell 怎么找后台进程

windows 上bash shell 怎么找后台进程

作者: 微风玉米 | 来源:发表于2017-06-23 18:26 被阅读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 就大功告成。

    相关文章

      网友评论

          本文标题:windows 上bash shell 怎么找后台进程

          本文链接:https://www.haomeiwen.com/subject/cgoccxtx.html