diff options
Diffstat (limited to 'plugins/check_procs.c')
-rw-r--r-- | plugins/check_procs.c | 136 |
1 files changed, 68 insertions, 68 deletions
diff --git a/plugins/check_procs.c b/plugins/check_procs.c index a8a7d5e8..ee168db2 100644 --- a/plugins/check_procs.c +++ b/plugins/check_procs.c | |||
@@ -589,6 +589,71 @@ check_thresholds (int value) | |||
589 | 589 | ||
590 | 590 | ||
591 | 591 | ||
592 | |||
593 | /* convert the elapsed time to seconds */ | ||
594 | int | ||
595 | convert_to_seconds(char *etime) { | ||
596 | |||
597 | char *ptr; | ||
598 | int total; | ||
599 | |||
600 | int hyphcnt; | ||
601 | int coloncnt; | ||
602 | int days; | ||
603 | int hours; | ||
604 | int minutes; | ||
605 | int seconds; | ||
606 | |||
607 | hyphcnt = 0; | ||
608 | coloncnt = 0; | ||
609 | days = 0; | ||
610 | hours = 0; | ||
611 | minutes = 0; | ||
612 | seconds = 0; | ||
613 | |||
614 | for (ptr = etime; *ptr != '\0'; ptr++) { | ||
615 | |||
616 | if (*ptr == '-') { | ||
617 | hyphcnt++; | ||
618 | continue; | ||
619 | } | ||
620 | if (*ptr == ':') { | ||
621 | coloncnt++; | ||
622 | continue; | ||
623 | } | ||
624 | } | ||
625 | |||
626 | if (hyphcnt > 0) { | ||
627 | sscanf(etime, "%d-%d:%d:%d", | ||
628 | &days, &hours, &minutes, &seconds); | ||
629 | /* linux 2.6.5/2.6.6 reporting some processes with infinite | ||
630 | * elapsed times for some reason */ | ||
631 | if (days == 49710) { | ||
632 | return 0; | ||
633 | } | ||
634 | } else { | ||
635 | if (coloncnt == 2) { | ||
636 | sscanf(etime, "%d:%d:%d", | ||
637 | &hours, &minutes, &seconds); | ||
638 | } else if (coloncnt == 1) { | ||
639 | sscanf(etime, "%d:%d", | ||
640 | &minutes, &seconds); | ||
641 | } | ||
642 | } | ||
643 | |||
644 | total = (days * 86400) + | ||
645 | (hours * 3600) + | ||
646 | (minutes * 60) + | ||
647 | seconds; | ||
648 | |||
649 | if (verbose >= 3) { | ||
650 | printf("seconds: %d\n", total); | ||
651 | } | ||
652 | return total; | ||
653 | } | ||
654 | |||
655 | |||
656 | |||
592 | void | 657 | void |
593 | print_help (void) | 658 | print_help (void) |
594 | { | 659 | { |
@@ -681,78 +746,13 @@ Examples:\n\ | |||
681 | printf (_(UT_SUPPORT)); | 746 | printf (_(UT_SUPPORT)); |
682 | } | 747 | } |
683 | 748 | ||
684 | |||
685 | |||
686 | /* convert the elapsed time to seconds */ | ||
687 | int | ||
688 | convert_to_seconds(char *etime) { | ||
689 | |||
690 | char *ptr; | ||
691 | int total; | ||
692 | |||
693 | int hyphcnt; | ||
694 | int coloncnt; | ||
695 | int days; | ||
696 | int hours; | ||
697 | int minutes; | ||
698 | int seconds; | ||
699 | |||
700 | hyphcnt = 0; | ||
701 | coloncnt = 0; | ||
702 | days = 0; | ||
703 | hours = 0; | ||
704 | minutes = 0; | ||
705 | seconds = 0; | ||
706 | |||
707 | for (ptr = etime; *ptr != '\0'; ptr++) { | ||
708 | |||
709 | if (*ptr == '-') { | ||
710 | hyphcnt++; | ||
711 | continue; | ||
712 | } | ||
713 | if (*ptr == ':') { | ||
714 | coloncnt++; | ||
715 | continue; | ||
716 | } | ||
717 | } | ||
718 | |||
719 | if (hyphcnt > 0) { | ||
720 | sscanf(etime, "%d-%d:%d:%d", | ||
721 | &days, &hours, &minutes, &seconds); | ||
722 | /* linux 2.6.5/2.6.6 reporting some processes with infinite | ||
723 | * elapsed times for some reason */ | ||
724 | if (days == 49710) { | ||
725 | return 0; | ||
726 | } | ||
727 | } else { | ||
728 | if (coloncnt == 2) { | ||
729 | sscanf(etime, "%d:%d:%d", | ||
730 | &hours, &minutes, &seconds); | ||
731 | } else if (coloncnt == 1) { | ||
732 | sscanf(etime, "%d:%d", | ||
733 | &minutes, &seconds); | ||
734 | } | ||
735 | } | ||
736 | |||
737 | total = (days * 86400) + | ||
738 | (hours * 3600) + | ||
739 | (minutes * 60) + | ||
740 | seconds; | ||
741 | |||
742 | if (verbose >= 3) { | ||
743 | printf("seconds: %d\n", total); | ||
744 | } | ||
745 | return total; | ||
746 | } | ||
747 | |||
748 | void | 749 | void |
749 | print_usage (void) | 750 | print_usage (void) |
750 | { | 751 | { |
751 | printf ("\ | 752 | printf ("\ |
752 | Usage: %s -w <range> -c <range> [-m metric] [-s state] [-p ppid]\n\ | 753 | Usage: %s -w <range> -c <range> [-m metric] [-s state] [-p ppid]\n\ |
753 | [-u user] [-r rss] [-z vsz] [-P %%cpu] [-a argument-array]\n\ | 754 | [-u user] [-r rss] [-z vsz] [-P %%cpu] [-a argument-array]\n\ |
754 | [-C command] [-t timeout] [-v]\n", progname); | 755 | [-C command] [-t timeout] [-v]\n", progname); |
755 | printf (_(UT_HLP_VRS), progname, progname); | 756 | |
757 | printf (UT_HLP_VRS, progname, progname); | ||
756 | } | 758 | } |
757 | |||
758 | |||