Python教程:os.popen(cmd).read()查看后台进程并杀进程

欢乐狗  金牌会员 | 2024-7-4 15:05:26 | 来自手机 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 873|帖子 873|积分 2619

一、os.popen()方法

1.使用语法
  1. os.popen() 方法用于从一个命令打开一个管道。
  2. os.popen(cmd).read() 获取执行后结果。
  3. os.popen(command[, mode[, bufsize]])
  4. # 使用的命令
  5. # 模式权限:默认'r'或者'w'
  6. # 文件需要的缓冲大小 0无缓冲 1行缓冲 其他数值以字节为单位 负值使用系统默认值
复制代码
返回一个文件形貌符号的文件对象。
2.实例
  1. import os
  2. val = os.popen('ls -l /data')
  3. print(val)
  4. # <open file 'ls -l /data', mode 'r' at 0x7f66e8038c00>
  5. val2 = val.read()
  6. print(val2)
  7. # 实际显示内容
复制代码
二、查看后台进程

top 命令用于实时表现进程动态。
  1. top [-] [d delay] [q] [c] [S] [s] [i] [n] [b]
复制代码
参数分析:

  • d : 改变表现的更新速率,或是在攀谈式指令列( interactive command)按 s
  • q : 没有任何延迟的表现速率,如果使用者是有 superuser 的权限,则 top 将会以最高的优先序执行
  • c : 切换表现模式,共有两种模式,一是只表现执行档的名称,另一种是表现完整的路径与名称
  • S : 累积模式,会将己完成或消失的子进程 ( dead child process ) 的 CPU time 累积起来
  • s : 安全模式,将攀谈式指令取消, 避免潜在的危机
  • i : 不表现任何闲置 (idle) 或无用 (zombie) 的进程
  • n : 更新的次数,完成后将会退出 top
  • b : 批次档模式,搭配 "n" 参数一起使用,可以用来将 top 的效果输出到档案内
  • u:指定用户
  1. # -*- coding: GBK -*-
  2. import pandas as pd
  3. import os
  4. # 查询后台使用情况
  5. valo = os.popen('top -b -n 1').read()
  6. # -n 1 指定更新一次
  7. # -b 输出到文件
  8. # 查询指定用户
  9. valo = os.popen('top -b -u user_name -n 1').read()
  10. print(valo)
复制代码
三、杀进程
  1. # 查询之后杀进程
  2. valo = os.popen('kill -9 75560').read()
复制代码
四、统计文件个数、行数
  1. # 统计行数
  2. valo = os.popen('cat /data/datamining/zone_test/tb_syb_mx_kdxy_list.txt | wc -l').read()
  3. #学习中遇到问题没人解答?小编创建了一个Python学习交流群:725638078
  4. # 列出文件 类似于 os.listdir()
  5. val = os.popen('ls -l /data/datamining/zone_test/')
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

欢乐狗

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表