首頁  >  問答  >  主體

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

比如下面的例子

echo 1000 | kill

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

大家讲道理大家讲道理2903 天前892

全部回覆(1)我來回復

  • 代言

    代言2016-11-08 15:07:17

    有很多命令的参数是不能从管道获取的,比如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
  • 取消回覆