PackageProvidesJava - command /bin/echo {java_command_package}
¶
This command reads the output of the pre-command:
for jp in `/bin/ps auxwww | grep java | grep -v grep| awk '{print $11}' | sort -u`; do echo $jp `readlink -e $jp | xargs rpm -qf`; done
This command looks for all versions of ‘java’ running and tries to find the
RPM packages which provide them. The running command and its package name
are stored as properties command
and package
of the object.
The reason why using above pre_command is that we need to record the links
between running_java_command and package which provides the java command. In
ps aux
output, we can only get what java command starts a java
application, instead of java package. Through this way, when there is jdk
bug, we can detect whether a running java application will be affected.
Typical contents of the pre_command:
/usr/lib/jvm/jre/bin/java java-1.8.0-openjdk-headless-1.8.0.141-3.b16.el6_9.x86_64
Parsed result:
self.command = "/usr/lib/jvm/jre/bin/java"
self.package = "java-1.8.0-openjdk-headless-1.8.0.141-3.b16.el6_9.x86_64"
Examples
>>> command_package = shared[PackageProvidesJava]
>>> command_package.command
'/usr/lib/jvm/jre/bin/java'
>>> command_package.package
'java-1.8.0-openjdk-headless-1.8.0.141-3.b16.el6_9.x86_64'
- raises insights.parsers.ParseException
if there is no java application running
- raises insights.parsers.SkipException
if running java command is not provided by package installed through yum or rpm
-
class
insights.parsers.package_provides_java.
PackageProvidesJava
(context, extra_bad_lines=[])[source]¶ Bases:
insights.core.CommandParser
Parse the output of pre_command:
``for jp in `/bin/ps auxwww | grep java | grep -v grep| awk '{print $11}' | sort -u`; do echo "$jp `readlink -e $jp | xargs rpm -qf`"; done``.
-
command
¶ The java command that starts application.
- Type
str
-
package
¶ Java package that provides above java command.
- Type
str
-