summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--systemd27
1 files changed, 22 insertions, 5 deletions
diff --git a/systemd b/systemd
index 67af44d..73d3b1a 100644
--- a/systemd
+++ b/systemd
@@ -35,6 +35,7 @@ my %Deactivated;
my %LeftOver;
my $Reexecuted = 0;
my %Reloaded;
+my %Skipped;
my %Slice;
my %Slow;
my %Started;
@@ -65,6 +66,7 @@ while (defined(my $ThisLine = <STDIN>)) {
$ThisLine =~ /^Closed .* [Ww]atch\.$/ or
$ThisLine =~ /^Closed (?:Multimedia|Sound) System\.$/ or
$ThisLine =~ /^Closed udev / or
+ $ThisLine =~ /: Consumed .* CPU time\.$/ or
$ThisLine =~ /^\S+: Succeeded\.$/ or
$ThisLine =~ /^\S+\.service: Current command vanished from the unit file, execution of the command list won't be resumed\.$/ or
# crond will never restart process when it is restarted
@@ -81,12 +83,14 @@ while (defined(my $ThisLine = <STDIN>)) {
$ThisLine =~ /^Reloading\.$/ or # Happens on each boot at switch root
$ThisLine =~ /^RTC configured in / or
$ThisLine =~ /^Running in initial RAM disk\.$/ or
+ $ThisLine =~ /^selinux: avc: *received policyload notice/ or
$ThisLine =~ /^Set hostname to / or
$ThisLine =~ /^(?:Set up|Unset) automount Arbitrary Executable File Formats File System Automount Point\.$/ or
$ThisLine =~ /^Shutting down\.$/ or
$ThisLine =~ /^Startup finished in / or
$ThisLine =~ /^Stopped / or
$ThisLine =~ /^Switching root\.$/ or
+ $ThisLine =~ /: Succeeded\.$/ or
$ThisLine =~ /^Successfully loaded SELinux policy in / or
$ThisLine =~ /already active, refusing\./ or
$ThisLine =~ /^Failed to propagate agent release message:/ or
@@ -94,7 +98,7 @@ while (defined(my $ThisLine = <STDIN>)) {
$ThisLine =~ /: Got notification message from PID \d+, but reception is disabled\./ or
$ThisLine =~ /: Got notification message from PID \d+, but reception only permitted for main PID \d+/ or
$ThisLine =~ /Cannot find unit for notify message of PID \d+/ or
- $ThisLine =~ /^systemd ([-0-9.a-z]+) running in system mode/ or
+ $ThisLine =~ /^systemd .* running in system mode/ or
# This is preceeded by a more descriptive message
$ThisLine =~ /^This usually indicates unclean termination of a previous run, or service implementation deficiencies\.$/ or
$ThisLine =~ /Transaction is destructive\./ or
@@ -102,8 +106,8 @@ while (defined(my $ThisLine = <STDIN>)) {
$ThisLine =~ /Unit (.* is )?not needed anymore\. Stopping\./ or
$ThisLine =~ /State '(stop-sigterm|stop-final-sigterm)' timed out\. Killing\./ or
$ThisLine =~ /: Start(-pre)? operation timed out\. Terminating\./ or
- $ThisLine =~ /Service hold-off time over, scheduling restart\./ or
- $ThisLine =~ /Service has no hold-off time, scheduling restart\./ or
+ $ThisLine =~ /hold-?off time over, scheduling restart\./ or
+ $ThisLine =~ /Service has no hold-off time.*, scheduling restart\./ or
$ThisLine =~ /Scheduled restart job, restart counter is at .*\./ or
$ThisLine =~ /Stopping timed out\. Killing\./ or
$ThisLine =~ /^Timed out waiting for/ or
@@ -154,6 +158,8 @@ while (defined(my $ThisLine = <STDIN>)) {
$ConfigError{$reason}{$service}++;
} elsif (my ($service) = ($ThisLine =~ /^Unit (.*) entered failed state\.$/)) {
$Failed{$service}++;
+ } elsif (my ($service) = ($ThisLine =~ /^(.*): Failed to execute command/)) {
+ $Failed{$service}++;
} elsif (my ($service) = ($ThisLine =~ /^(.*): Unit entered failed state\.$/)) {
$Failed{$service}++;
} elsif (my ($service) = ($ThisLine =~ /^(.*) failed with error code \d+\.$/)) {
@@ -184,11 +190,13 @@ while (defined(my $ThisLine = <STDIN>)) {
} elsif (my ($service) = ($ThisLine =~ /^Closed (.*)\.$/)) {
$Closed{$service}++;
} elsif ($ThisLine eq "Reexecuting.") {
- $Reexecuted++;
+ $Reexecuted++ if $Detail;
} elsif ($ThisLine =~ /^Time has been changed$/) {
$TimeChanged++;
} elsif (my ($slice) = ($ThisLine =~ /^Created slice (.*)\.$/)) {
$Slice{$slice}++;
+ } elsif (my ($name) = ($ThisLine =~ /^Condition check resulted in (.*) being skipped\.$/)) {
+ $Skipped{$name}++ if $Detail;
} elsif (my ($pidfile) = ($ThisLine =~ /^PID file (.*) not readable \(yet\?\) after start\.$/)) {
$Slow{$pidfile}++;
} elsif (my ($pidfile) = ($ThisLine =~ /: Can't open PID file (.*) \(yet\?\) after start:/)) {
@@ -232,10 +240,19 @@ if (keys %Failed) {
print "\n";
}
-if ($Reexecuted && $Detail) {
+# Detail >= 1
+if ($Reexecuted) {
print "Reexecuted systemd: $Reexecuted Time(s)\n\n";
}
+if (keys %Skipped) {
+ print "Condition check resulted in the following being skipped:\n";
+ foreach my $item (sort {$a cmp $b} keys %Skipped) {
+ print " $item: $Skipped{$item} Time(s)\n";
+ }
+ print "\n";
+}
+
if (keys %LeftOver) {
print "Warning: Found left-over process in control group while starting unit:\n";
foreach my $item (sort {$a cmp $b} keys %LeftOver) {