diff options
Diffstat (limited to 'systemd')
-rw-r--r-- | systemd | 27 |
1 files changed, 22 insertions, 5 deletions
@@ -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) { |