• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

Still_Walking

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

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

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

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")

posted on 2016-08-27 16:25  limanxian  阅读(1696)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3