ホームページ  >  に質問  >  本文

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

比如下面的例子
echo 1000 | kill
为什么kill不掉pid为1000的进程呢

高洛峰高洛峰2741日前674

全員に返信(2)返信します

  • 大家讲道理

    大家讲道理2017-04-17 11:01:09

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

    PHP中文网2017-04-17 11:01:09

    为什么不xargs?

    返事
    0
  • キャンセル返事