python编程linux服务,如何使python程序检查linux服务

使用psutils类。它的奇妙和跨平台。。下面是函数用法。。import psutil

>>> psutil.get_pid_list()

[1, 2, 3, 4, 5, 6, 7, 46, 48, 50, 51, 178, 182, 222, 223, 224,

268, 1215, 1216, 1220, 1221, 1243, 1244, 1301, 1601, 2237, 2355,

2637, 2774, 3932, 4176, 4177, 4185, 4187, 4189, 4225, 4243, 4245,

4263, 4282, 4306, 4311, 4312, 4313, 4314, 4337, 4339, 4357, 4358,

4363, 4383, 4395, 4408, 4433, 4443, 4445, 4446, 5167, 5234, 5235,

5252, 5318, 5424, 5644, 6987, 7054, 7055, 7071]

>>>

>>> p = psutil.Process(7055)

>>> p.name

'python'

>>> p.exe

'/usr/bin/python'

>>> p.getcwd()

'/home/giampaolo'

>>> p.cmdline

['/usr/bin/python', 'main.py']

>>>

>>> str(p.status)

'running'

>>> p.username

'giampaolo'

>>> p.create_time

1267551141.5019531

>>> p.terminal

'/dev/pts/0'

>>>

>>> p.uids

user(real=1000, effective=1000, saved=1000)

>>> p.gids

group(real=1000, effective=1000, saved=1000)

>>>

>>> p.get_cpu_times()

cputimes(user=1.02, system=0.31)

>>> p.get_cpu_percent(interval=1.0)

12.1

>>> p.get_cpu_affinity()

[0, 1, 2, 3]

>>> p.set_cpu_affinity([0])

>>>

>>> p.get_memory_percent()

0.63423

>>> p.get_memory_info()

meminfo(rss=7471104, vms=68513792)

>>> p.get_ext_memory_info()

meminfo(rss=9662464, vms=49192960, shared=3612672, text=2564096, lib=0,

data=5754880,dirty=0)

>>> p.get_memory_maps()

[mmap(path='/lib/x86_64-linux-gnu/libutil-2.15.so', rss=16384, anonymous=8192, swap=0),

mmap(path='/lib/x86_64-linux-gnu/libc-2.15.so', rss=6384, anonymous=15, swap=0),

mmap(path='/lib/x86_64-linux-gnu/libcrypto.so.1.0.0', rss=34124, anonymous=1245,

swap=0),

mmap(path='[heap]', rss=54653, anonymous=8192, swap=0),

mmap(path='[stack]', rss=1542, anonymous=166, swap=0),

...]

>>>

>>> p.get_io_counters()

io(read_count=478001, write_count=59371, read_bytes=700416, write_bytes=69632)

>>>

>>> p.get_open_files()

[openfile(path='/home/giampaolo/svn/psutil/somefile', fd=3)]

>>>

>>> p.get_connections()

[connection(fd=115, family=2, type=1, local_address=('10.0.0.1', 48776),

remote_address=('93.186.135.91', 80), status='ESTABLISHED'),

connection(fd=117, family=2, type=1, local_address=('10.0.0.1', 43761),

remote_address=('72.14.234.100', 80), status='CLOSING'),

connection(fd=119, family=2, type=1, local_address=('10.0.0.1', 60759),

remote_address=('72.14.234.104', 80), status='ESTABLISHED'),

connection(fd=123, family=2, type=1, local_address=('10.0.0.1', 51314),

remote_address=('72.14.234.83', 443), status='SYN_SENT')]

>>>

>>> p.get_num_threads()

4

>>> p.get_num_fds()

8

>>> p.get_num_ctx_switches()

amount(voluntary=78, involuntary=19)

>>>

>>> p.get_threads()

[thread(id=5234, user_time=22.5, system_time=9.2891),

thread(id=5235, user_time=0.0, system_time=0.0),

thread(id=5236, user_time=0.0, system_time=0.0),

thread(id=5237, user_time=0.0707, system_time=1.1)]

>>>

>>> p.get_nice()

0

>>> p.set_nice(10)

>>>

>>> p.suspend()

>>> p.resume()

>>>

>>> p.terminate()

>>> p.wait(timeout=3)

0

>>>

>>> psutil.test()

USER PID %CPU %MEM VSZ RSS TTY START TIME COMMAND

root 1 0.0 0.0 24584 2240 ? Jun17 00:00 init

root 2 0.0 0.0 0 0 ? Jun17 00:00 kthreadd

root 3 0.0 0.0 0 0 ? Jun17 00:05 ksoftirqd/0

...

giampaolo 31475 0.0 0.0 20760 3024 /dev/pts/0 Jun19 00:00 python2.4

giampaolo 31721 0.0 2.2 773060 181896 ? 00:04 10:30 chrome

root 31763 0.0 0.0 0 0 ? 00:05 00:00 kworker/0:1

>>>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值