首页 >社区问答列表 >为什么kill命令使用管道没效果

为什么kill命令使用管道没效果

比如下面的例子

echo 1000 | kill

为什么kill不掉pid为1000的进程呢

  • 代言
  • 代言    2016-11-08 15:07:171楼

    有很多命令的参数是不能从管道获取的,比如ssh的密码什么的,还有最简单的ls也不行,vim这种需要加个 - 才可以(echo "text from pipe" | vim -)。管道和stdin还是有区别的。
    一般脚本用kill都把pid放在变量里然后直接 kill $PID 这样

    @chris kill一个进程可以这样写

    kill ps |grep php-cgi|grep -v grep|awk '{print $1}'

    kill 多个进程就加个for循环

    for PID in ps |grep php-cgi|grep -v grep|awk '{print $1}'do
        kill $PID
    done


    +0添加回复

  • 回复