微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

centos7.2 get pid by process name with python3.6

centos7.2 get pid by process name with python3.6


#-*- encoding:UTF-8 -*-
import os
import sys
import string
import psutil
import re

def get_pid(name):
process_list = psutil.pids()
pid = 0
for i in range(0,len(process_list)):
p = psutil.Process(process_list[i])
if len(p.cmdline())>=2:
process_info = str(p.cmdline()[1])
result = process_info.find(name)
if result != -1:
pid = process_list[i]
break
print(pid)
return pid

def main(argv):
name = argv[1]
#print(name)
get_pid(name)

if __name__ == "__main__":
main(sys.argv)


关于:psutil 5.2.2使用说明参见:

https://pypi.python.org/pypi/psutil/5.2.2


Example usages

cpu

>>> import psutil
>>> psutil.cpu_times()
scputimes(user=3961.46, nice169.729, system2150.659, idle16900.540, iowait629.59, irq0.0, softirq19.42, stealguest=0,112)">0.0)
>>>
>>> for x in range(3):
...     psutil.cpu_percent(interval1)
...
4.0
5.9
3.8
1, percpu=True)
...
[4.0, 6.9,112)">3.7,112)">9.2]
[7.0,112)">8.5,112)">2.4,112)">2.1]
[1.2,112)">9.0,112)">9.9,112)">7.2]
.cpu_times_percent(intervalFalse)
...
scputimes(user1.5,112)">0.5,112)">96.5, guest_nice0.0)
scputimes(user1.0,112)">99.0,112)">2.0,112)">98.0,102)">.cpu_count()
4
.cpu_count(logicalFalse)
2
.cpu_stats()
scpustats(ctx_switches20455687, interrupts6598984, soft_interrupts2134212, syscalls0)
.cpu_freq()
scpufreq(current931.42925, min800.0,32)">max3500.0)
>>>
Memory
.virtual_memory()
svmem(total10367352832, available6472179712, percent37.6, used8186245120, free2181107712, active4748992512, inactive2758115328, buffers790724608, cached3500347392, shared787554304)
.swap_memory()
sswap(total2097147904,112)">296128512,112)">1801019392,112)">14.1, sin304193536, sout677842944)
>>>
disks
.disk_partitions()
[sdiskpart(device='/dev/sda1', mountpoint'/', fstype'ext4', opts'rw,nosuid'),
 sdiskpart(device'/dev/sda2',160)">'/home',160)">'ext,opts='rw')]
.disk_usage('/')
sdiskusage(total21378641920,112)">4809781248,112)">15482871808,112)">22.5)
.disk_io_counters(perdiskFalse)
sdiskio(read_count719566, write_count1082197, read_bytes18626220032, write_bytes24081764352, read_time5023392, write_time63199568, read_merged_count619166, write_merged_count812396, busy_time4523412)
>>>
Network
.net_io_counters(pernicTrue)
{'eth0': netio(bytes_sent485291293, bytes_recv6004858642, packets_sent3251564, packets_recv4787798, errinerroutdropindropout0),
 'lo': netio(bytes_sent2838627,112)">30567,112)">0)}
.net_connections()
[pconn(fd115, family=<AddressFamily.AF_INET: 2>,32)">type=<SocketType.SOCK_STREAM: 1laddr=('10.0.0.1', 48776), raddr'93.186.135.91',112)">80), status'ESTABLISHED', pid1254),
 pconn(fd117,112)">43761),160)">'72.14.234.100',160)">'CLOSING',112)">2987),102)">=-60759),160)">'72.14.234.104',32)">None),112)">51314),160)">'72.14.234.83',112)">443),160)">'SYN_SENT',32)">None)
 ...]
.net_if_addrs()
{'lo': [snic(familyaddress'127.0.0.1', netmask'255.0.0.0', broadcastptpsnic(family.AF_INET6: 10'::1',160)">'ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff',32)">None,102)">.AF_LINK: 17'00:00:00:00:00:00',32)">None)],160)">'wlan0': [snic(family'192.168.1.3',160)">'255.255.255.0',160)">'192.168.1.255',
           snic(family'fe80::c685:8ff:fe45:641%wlan0',160)">'ffff:ffff:ffff:ffff::',160)">'c4:85:08:45:06:41',160)">'ff:ff:ff:ff:ff:ff',32)">None)]}
.net_if_stats()
{'eth0': snicstats(isupTrue, duplex=<NicDuplex.NIC_DUPLEX_FULL: speed100, mtu1500),160)">'lo': snicstats(isup.NIC_DUPLEX_UNKNowN: 065536)}
>>>
Sensors
.sensors_temperatures()
{'acpitz': [shwtemp(label'', current47.0, high103.0, critical103.0)],160)">'asus': [shwtemp(label'coretemp': [shwtemp(label'Physical id 0',112)">52.0,112)">100.0,112)">100.0),
              shwtemp(label'Core 0',112)">45.0,160)">'Core 1',160)">'Core 2',160)">'Core 3',112)">100.0)]}
.sensors_fans()
{'asus': [sfan(label'cpu_fan',112)">3200)]}
.sensors_battery()
sbattery(percent93, secsleft16628, power_plugged>>>
Other system info
.users()
[user(name'giampaolo', terminal'pts/2', host'localhost', started1340737536.0),
 user(name'pts/3',112)">1340737792.0)]
.boot_time()
1365519115.0
>>>
Process management
.pids()
[2,112)">3,112)">4,112)">5,112)">6,112)">7,112)">46,112)">48,112)">50,112)">51,112)">178,112)">182,112)">222,112)">223,112)">224,112)">268,112)">1215,112)">1216,112)">1220,112)">1221,112)">1243,112)">1244,
 1301,112)">1601,112)">2237,112)">2355,112)">2637,112)">2774,112)">3932,112)">4176,112)">4177,112)">4185,112)">4187,112)">4189,112)">4225,112)">4243,112)">4245,112)">4263,112)">4282,112)">4306,112)">4311,112)">4312,112)">4313,112)">4314,112)">4337,112)">4339,112)">4357,112)">4358,112)">4363,112)">4383,112)">4395,112)">4408,112)">4433,112)">4443,112)">4445,112)">4446,112)">5167,112)">5234,112)">5235,112)">5252,112)">5318,112)">5424,112)">5644,112)">6987,112)">7054,112)">7055,112)">7071]
>>> p = psutil.Process(7055)
>>> p.name()
'python'
.exe()
'/usr/bin/python'
.cwd()
'/home/giampaolo'
.cmdline()
['/usr/bin/python', 'main.py']
.pid
7055
.ppid()
7054
.parent()
<psutil.Process(pidname'bash') at 140008329539408>
.children()
[8031,160)">'python') at 140208324519778044,112)">19229444921932>]
.status()
'running'
.username()
'giampaolo'
.create_time()
1267551141.5019531
.terminal()
'/dev/pts/0'
.uids()
puids(real1000, effectivesaved1000)
.gids()
pgids(real.cpu_times()
pcputimes(user1.02,112)">0.31, children_user0.32, children_system0.1)
1.0)
12.1
.cpu_affinity()
[3]
.cpu_affinity([1])  # set
.cpu_num()
1
.memory_info()
pmem(RSS10915840, vms67608576,112)">3313664, text2310144, libdata7262208, dirty.memory_full_info()  # "real" USS memory usage (Linux,OSX,Win only)
pfullmem(RSS10199040,112)">52133888,112)">3887104,112)">2867200,112)">5967872, uss6545408, pss6872064, swap.memory_percent()
0.7823
.memory_maps()
[pmmap_grouped(path'/lib/x8664-linux-gnu/libutil-2.15.so', RSS32768, size2125824, shared_cleanshared_dirtyprivate_clean20480, private_dirty12288, referencedanonymouspmmap_grouped(path'/lib/x8664-linux-gnu/libc-2.15.so',112)">3821568,112)">3842048,112)">3575808,160)">'/lib/x8664-linux-gnu/libcrypto.so.0.1',112)">34124,112)">2134016,112)">15360,112)">24576,112)">8192,160)">'[heap]',  RSS139264,160)">'[stack]',112)">2465792,112)">2494464,112)">2277376,102)">.io_counters()
pio(read_count478001,112)">59371,112)">700416,112)">69632, read_chars456232, write_chars517543)
.open_files()
[popenfile(path'/home/giampaolo/svn/psutil/setup.py', fdpositionmode'r', flags32768),
 popenfile(path'/var/log/monitd',112)">235542,160)">'a',112)">33793)]
.connections()
[pconn(fd'ESTABLISHED'),160)">'CLOSING'),112)">119,112)">123,160)">'SYN_SENT')]
.num_threads()
.num_fds()
8
.threads()
[pthread(iduser_time22.5, system_time9.2891),
 pthread(0.0),112)">5236,112)">5237,112)">0.0707,112)">1.1)]
.num_ctx_switches()
pctxsw(voluntary78, involuntary19)
.nice()
0
.nice(10)  .ionice(psutil.IOPRIO_CLASS_IDLE)  # IO priority (Win and Linux only)
.ionice()
pionice(ioclass=<IOPriority.IOPRIO_CLASS_IDLE: 3value.rlimit(psutil.RLIMIT_NOFILE, (5))  # set resource limits (Linux only)
.RLIMIT_NOFILE)
(5)
.environ()
{'LC_PAPER': 'it_IT.UTF-8',160)">'SHELL': '/bin/bash',160)">'GREP_OPTIONS': '--color=auto',
'XDG_CONfig_Dirs': '/etc/xdg/xdg-ubuntu:/usr/share/upstart/xdg:/etc/xdg',160)">'COLORTERM': 'gnome-terminal',102)">...}
.as_dict()
{'status': 'running',160)">'num_ctx_switches': pctxsw(voluntary63,112)">1),160)">'pid': 5457, .is_running()
True
.suspend()
.resume()
.terminate()
.wait(timeout3)
.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            Jun17   00  kthreadd
root           3  05  ksoftirqd/...
giampaolo  31475  20760    3024 /dev/pts0 Jun19   00  python2.4
giampaolo  31721  2.2  773060  181896            04   10:30  chrome
root       31763  0            05   00  kworker0:>>>
Further process APIs
for p in psutil.process_iter():
...     print(p)
...
psutil'init')
psutil'kthreadd')
psutil'ksoftirqd/0')
...
def on_terminate(proc):
print("process {} terminated".format(proc))
>>> # waits for multiple processes to terminate
>>> gone, alive .wait_procs(procs_list, timeoutcallback=on_terminate)
>>>
Windows services
>>> list(psutil.win_service_iter())
[<WindowsService(name'AeLookupSvc', display_name'Application Experience') at 38850096'ALG',160)">'Application Layer Gateway Service') at 38850128'APNMCP',160)">'Ask Update Service') at 38850160'AppIDSvc',160)">'Application Identity') at 38850192>>> s .win_service_get('alg')
>>> s'binpath': 'C:\\WindowsSystem32alg.exe',160)">'description': 'Provides support for 3rd party protocol plug-ins for Internet Connection Sharing',160)">'display_name': 'Application Layer Gateway Service',160)">'name': 'alg',160)">'pid': 'start_type': 'manual',160)">'stopped',160)">'username': 'NT AUTHORITYLocalService'}

原文地址:https://www.jb51.cc/centos/377490.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。