猿问

如下例子,为什么kill命令使用管道会没效果?

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

慕无忌1623718
浏览 112回答 1
1回答

慕桂英546537

有很多命令的参数是不能从管道获取的,比如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
随时随地看视频慕课网APP
我要回答