美文网首页
ruby中执行shell命令找到进程并kill掉

ruby中执行shell命令找到进程并kill掉

作者: limx | 来源:发表于2016-08-27 16:26 被阅读0次

    shell命令获得进程id的方法有三种:

    1.

    ps -A |grep cmdname| awk '{print $1}'

    2.

    pidof cmdname

    3.

    pgrep cmdname

    ruby中怎么做呢?

    ruby中有三种方式执行shell命令:

    %x: 执行命令并返回执行结果

    exec:执行命令并退出。

    system:执行命令并返回true或false。

    所以这里要使用%x来取得返回结果。

    比如要killsublime:

    result = %x[pgrep sublime]

    %x[sudo kill -9 #{result}]

    当然用一行命令也可以:

    system("ps -ef | grep sublime | grep -v grep | awk '{print $2}' | xargs -n1 kill -9")

    相关文章

      网友评论

          本文标题:ruby中执行shell命令找到进程并kill掉

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