aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/sos/plugins/process.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/sos/plugins/process.py')
-rw-r--r--src/lib/sos/plugins/process.py63
1 files changed, 0 insertions, 63 deletions
diff --git a/src/lib/sos/plugins/process.py b/src/lib/sos/plugins/process.py
deleted file mode 100644
index 0d89e06b..00000000
--- a/src/lib/sos/plugins/process.py
+++ /dev/null
@@ -1,63 +0,0 @@
-### This program is free software; you can redistribute it and/or modify
-## it under the terms of the GNU General Public License as published by
-## the Free Software Foundation; either version 2 of the License, or
-## (at your option) any later version.
-
-## This program is distributed in the hope that it will be useful,
-## but WITHOUT ANY WARRANTY; without even the implied warranty of
-## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-## GNU General Public License for more details.
-
-## You should have received a copy of the GNU General Public License
-## along with this program; if not, write to the Free Software
-## Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
-import sos.plugintools
-import commands
-import time
-import os
-
-class process(sos.plugintools.PluginBase):
- """process information
- """
- def setup(self):
- self.collectExtOutput("/bin/ps auxwww", root_symlink = "ps")
- self.collectExtOutput("/bin/ps auxwwwm")
- self.collectExtOutput("/bin/ps alxwww")
- self.collectExtOutput("/usr/bin/pstree", root_symlink = "pstree")
- self.collectExtOutput("/usr/sbin/lsof -b +M -n -l", root_symlink = "lsof")
- return
-
- def find_mountpoint(s):
- if (os.path.ismount(s) or len(s)==0): return s
- else: return mountpoint(os.path.split(s)[0])
-
- def diagnose(self):
- # check that no process is in state D
- dpids = []
- status, output = commands.getstatusoutput("/bin/ps -A -o state,pid --no-heading")
- if not status:
- for line in output.split("\n"):
- line = line.split()
- if line[0] == "D":
- # keep an eye on the process to see if the stat changes
- for inc in range(1,10):
- try:
- if len(self.fileGrep("^State: D", " /proc/%d/status" % int(line[1]))) == 0:
- # status is not D, good. let's get out of the loop.
- time.sleep(0.1 * inc)
- continue
- except IOError:
- # this should never happen...
- pass
- else:
- # still D after 0.1 * range(1,5) seconds
- dpids.append(int(line[1]))
-
- if len(dpids):
- self.addDiagnose("one or more processes are in state D (sosreport might hang)")
-
- return
-
-
-