Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
蜕变的菜鸟
glances
提交
eee6dd6d
G
glances
项目概览
蜕变的菜鸟
/
glances
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
G
glances
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
eee6dd6d
编写于
1月 25, 2016
作者:
N
Nicolas Hennion
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #786 from desbma/develop
Fix #546
上级
dbb97a53
17a2a2f5
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
29 addition
and
18 deletion
+29
-18
glances/plugins/glances_processlist.py
glances/plugins/glances_processlist.py
+28
-17
glances/processes.py
glances/processes.py
+1
-1
未找到文件。
glances/plugins/glances_processlist.py
浏览文件 @
eee6dd6d
...
...
@@ -42,6 +42,21 @@ def convert_timedelta(delta):
return
hours
,
minutes
,
seconds
,
microseconds
def
split_process_cmdline
(
process
):
"""Return dirname, basename, arguments for a process, with unknown parts set to None. """
dirname
=
None
basename
=
process
[
'name'
]
arguments
=
None
if
process
[
'exe'
]
and
process
[
'cmdline'
].
startswith
(
process
[
'exe'
]):
dn
,
bn
=
os
.
path
.
split
(
process
[
'exe'
])
dirname
=
dn
or
None
basename
=
bn
or
process
[
'name'
]
arguments
=
process
[
'cmdline'
][
len
(
process
[
'exe'
]):].
lstrip
()
elif
process
[
'cmdline'
].
startswith
(
process
[
'name'
]):
arguments
=
process
[
'cmdline'
][
len
(
process
[
'name'
]):].
lstrip
()
return
dirname
,
basename
,
arguments
class
Plugin
(
GlancesPlugin
):
"""Glances' processes plugin.
...
...
@@ -287,31 +302,27 @@ class Plugin(GlancesPlugin):
ret
.
append
(
self
.
curse_add_line
(
msg
,
optional
=
True
,
additional
=
True
))
# Command line
# If no command line for the process is available, fallback to
# the bare process name instead
cmdline
=
p
[
'cmdline'
]
argument
=
' '
.
join
(
cmdline
.
split
()[
1
:])
dirname
,
name
,
arguments
=
split_process_cmdline
(
p
)
try
:
if
cmdline
==
''
:
msg
=
' {0}'
.
format
(
p
[
'name'
]
)
if
(
dirname
is
None
)
and
(
arguments
is
None
)
:
msg
=
' {0}'
.
format
(
name
)
ret
.
append
(
self
.
curse_add_line
(
msg
,
splittable
=
True
))
elif
args
.
process_short_name
:
msg
=
' {0}'
.
format
(
p
[
'name'
]
)
msg
=
' {0}'
.
format
(
name
)
ret
.
append
(
self
.
curse_add_line
(
msg
,
decoration
=
'PROCESS'
,
splittable
=
True
))
msg
=
' {0}'
.
format
(
argument
)
msg
=
' {0}'
.
format
(
argument
s
)
ret
.
append
(
self
.
curse_add_line
(
msg
,
splittable
=
True
))
else
:
cmd
=
cmdline
.
split
()[
0
]
path
,
basename
=
os
.
path
.
split
(
cmd
)
if
os
.
path
.
isdir
(
path
):
msg
=
' {0}'
.
format
(
path
)
+
os
.
sep
if
dirname
is
not
None
:
msg
=
' {0}'
.
format
(
dirname
)
+
os
.
sep
ret
.
append
(
self
.
curse_add_line
(
msg
,
splittable
=
True
))
ret
.
append
(
self
.
curse_add_line
(
basename
,
decoration
=
'PROCESS'
,
splittable
=
True
))
msg
=
name
else
:
msg
=
' {0}'
.
format
(
basename
)
ret
.
append
(
self
.
curse_add_line
(
msg
,
decoration
=
'PROCESS'
,
splittable
=
True
))
msg
=
' {0}'
.
format
(
argument
)
ret
.
append
(
self
.
curse_add_line
(
msg
,
splittable
=
True
))
msg
=
' {0}'
.
format
(
name
)
ret
.
append
(
self
.
curse_add_line
(
msg
,
decoration
=
'PROCESS'
,
splittable
=
True
))
if
arguments
is
not
None
:
msg
=
' {0}'
.
format
(
arguments
)
ret
.
append
(
self
.
curse_add_line
(
msg
,
splittable
=
True
))
except
UnicodeEncodeError
:
ret
.
append
(
self
.
curse_add_line
(
''
,
splittable
=
True
))
...
...
glances/processes.py
浏览文件 @
eee6dd6d
...
...
@@ -377,7 +377,7 @@ class GlancesProcesses(object):
try
:
procstat
.
update
(
proc
.
as_dict
(
attrs
=
[
'username'
,
'cpu_percent'
,
'memory_percent'
,
'name'
,
'cpu_times'
],
ad_value
=
''
))
'name'
,
'
exe'
,
'
cpu_times'
],
ad_value
=
''
))
except
psutil
.
NoSuchProcess
:
# Try/catch for issue #432
return
None
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录