Compare commits

...

No commits in common. "c8s" and "c9" have entirely different histories.
c8s ... c9

17 changed files with 68 additions and 616 deletions

6
.gitignore vendored
View File

@ -1,5 +1 @@
acct-6.5.4.tar.gz SOURCES/acct-6.6.4.tar.gz
/acct-6.5.5.tar.gz
/acct-6.6.1.tar.gz
/acct-6.6.2.tar.gz
/acct-6.6.3.tar.gz

1
.psacct.metadata Normal file
View File

@ -0,0 +1 @@
bf4bb9c138d325add34a8cd836e44a49bc64dfe9 SOURCES/acct-6.6.4.tar.gz

View File

@ -0,0 +1,13 @@
diff -up ./lastcomm.1.ori ./lastcomm.1
--- ./lastcomm.1.ori 2018-06-19 17:50:43.223211872 +0200
+++ ./lastcomm.1 2018-06-19 17:50:58.211147752 +0200
@@ -125,9 +125,6 @@ format as your current machine, but has
Print paging statistics.
.TP
.B \-\-pid
-Show PID and PPID of the process if acct version 3 format is supported by kernel.
-.TP
-.B \-\-pid
Add pid of the process and pid of the process parent to the output
(pid is the last but one and parent pid the last column).
These values are shown only when they are generated by acct function

View File

@ -9,7 +9,7 @@
create 0600 root root create 0600 root root
postrotate postrotate
if %{_bindir}/systemctl --quiet is-active psacct.service ; then if %{_bindir}/systemctl --quiet is-active psacct.service ; then
%{_sbindir}/accton /var/account/pacct | %{_bindir}/grep -v "Turning on process accounting, file set to '/var/account/pacct'." | %{_bindir}/cat %{_bindir}/systemctl reload psacct.service
fi fi
endscript endscript
} }

View File

@ -7,6 +7,7 @@ ConditionPathExists=/var/account
Type=oneshot Type=oneshot
ExecStartPre=/usr/libexec/psacct/accton-create ExecStartPre=/usr/libexec/psacct/accton-create
ExecStart=/usr/sbin/accton /var/account/pacct ExecStart=/usr/sbin/accton /var/account/pacct
ExecReload=/usr/sbin/accton /var/account/pacct
ExecStop=/usr/sbin/accton off ExecStop=/usr/sbin/accton off
RemainAfterExit=yes RemainAfterExit=yes

View File

@ -3,10 +3,9 @@
Summary: Utilities for monitoring process activities Summary: Utilities for monitoring process activities
Name: psacct Name: psacct
Version: 6.6.3 Version: 6.6.4
Release: 4%{?dist} Release: 12%{?dist}
License: GPLv3+ License: GPLv3+
Group: Applications/System
URL: http://www.gnu.org/software/acct/ URL: http://www.gnu.org/software/acct/
Source: ftp://ftp.gnu.org/pub/gnu/acct/acct-%{version}.tar.gz Source: ftp://ftp.gnu.org/pub/gnu/acct/acct-%{version}.tar.gz
@ -14,28 +13,17 @@ Source1: psacct.service
Source2: psacct-logrotate.in Source2: psacct-logrotate.in
Source3: accton-create Source3: accton-create
#Patch1: psacct-6.3.2-lastcomm_man.patch Patch1: psacct-6.6.2-unnumberedsubsubsec.patch
#Patch2: acct-6.3.2-sa_manpage.patch Patch2: psacct-6.6.1-SEGV-when-record-incomplete.patch
# The upstream man page is more correct than the usage Patch3: psacct-6.6.4-lastcomm-manpage-pid-twice.patch
# .. the C sources need to be fixed, not the man page
#Patch3: psacct-6.3.2-man-pages.patch
Patch4: psacct-6.6.2-unnumberedsubsubsec.patch
#Patch5: psacct-6.6.1-RH-man-page-scan.patch
# Partial replacement for Patch3: psacct-6.3.2-man-pages.patch
#Patch6: psacct-6.6.1-man-dump-acct.patch
# Preventing SEGVs when an incomplete record appears
Patch7: psacct-6.6.1-SEGV-when-record-incomplete.patch
Patch8: psacct-6.6.3-lastcomm-new-pid-option.patch
Conflicts: filesystem < 3 Conflicts: filesystem < 3
Requires: /sbin/install-info
Requires: coreutils Requires: coreutils
Requires(post): chkconfig
Requires(post): systemd-sysv
Requires(post): systemd Requires(post): systemd
Requires(preun): systemd Requires(preun): systemd
Requires(postun): systemd Requires(postun): systemd
BuildRequires: make
BuildRequires: autoconf BuildRequires: autoconf
BuildRequires: systemd BuildRequires: systemd
BuildRequires: gcc BuildRequires: gcc
@ -54,14 +42,9 @@ commands.
%prep %prep
%setup -q -n acct-%{version} %setup -q -n acct-%{version}
#%%patch1 -p1 -b .man %patch1 -p1 -b .subsubsec
#%%patch2 -p1 -b .pct %patch2 -p1
#%%patch3 -p1 -b .new %patch3 -p1
%patch4 -p1 -b .subsubsec
#%%patch5 -p1 -b .rh-man-scan
#%%patch6 -p1 -b .man-dump-acct
%patch7 -p1
%patch8 -p1
# fixing 'gets' undeclared # fixing 'gets' undeclared
sed -i 's|.*(gets,.*||g' lib/stdio.in.h sed -i 's|.*(gets,.*||g' lib/stdio.in.h
@ -110,36 +93,19 @@ rm -f %{buildroot}%{_bindir}/last %{buildroot}%{_mandir}/man1/last.1*
%post %post
%systemd_post psacct.service %systemd_post psacct.service
/sbin/install-info %{_infodir}/accounting.info %{_infodir}/dir || :
touch /var/account/pacct && chmod 0600 /var/account/pacct touch /var/account/pacct && chmod 0600 /var/account/pacct
%preun %preun
%systemd_preun psacct.service %systemd_preun psacct.service
if [ $1 -eq 0 ]; then
# Package removal, not upgrade
/sbin/install-info --delete %{_infodir}/accounting.info %{_infodir}/dir || :
fi
%postun %postun
%systemd_postun_with_restart psacct.service %systemd_postun_with_restart psacct.service
%triggerun -- psacct < 6.5.5-3
# Save the current service runlevel info
# User must manually run systemd-sysv-convert --apply psacct
# to migrate them to systemd targets
%{_bindir}/systemd-sysv-convert --save psacct >/dev/null 2>&1 ||:
# Run these because the SysV package being removed won't do them
/sbin/chkconfig --del psacct >/dev/null 2>&1 || :
/bin/systemctl try-restart psacct.service >/dev/null 2>&1 || :
%files %files
%doc README COPYING %license COPYING
%doc README
%dir /var/account %dir /var/account
%{_unitdir}/psacct.service %{_unitdir}/psacct.service
%attr(0600,root,root) %ghost %config /var/account/pacct %attr(0600,root,root) %ghost %config /var/account/pacct
@ -163,10 +129,49 @@ fi
%{_mandir}/man8/accton.8* %{_mandir}/man8/accton.8*
%{_mandir}/man8/dump-acct.8* %{_mandir}/man8/dump-acct.8*
%{_mandir}/man8/dump-utmp.8* %{_mandir}/man8/dump-utmp.8*
%{_infodir}/accounting.info.gz %{_infodir}/accounting.info.*
%changelog %changelog
* Thu Oct 28 2021 Jan Rybar <jrybar@redhat.com> - 6.6.4-12
- post-rotate script aligned with systemd usage
- Resolves: rhbz#2015020
* Tue Aug 10 2021 Mohan Boddu <mboddu@redhat.com> - 6.6.4-11
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
Related: rhbz#1991688
* Fri Apr 16 2021 Mohan Boddu <mboddu@redhat.com> - 6.6.4-10
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 6.6.4-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 6.6.4-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 6.6.4-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 6.6.4-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Wed Apr 24 2019 Björn Esser <besser82@fedoraproject.org> - 6.6.4-5
- Remove hardcoded gzip suffix from GNU info pages
* Sat Feb 02 2019 Fedora Release Engineering <releng@fedoraproject.org> - 6.6.4-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Wed Oct 17 2018 Peter Robinson <pbrobinson@fedoraproject.org> 6.6.4-3
- Use %%license, drop legacy sys-v bits
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 6.6.4-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Tue Jun 19 2018 Jan Rybar <jrybar@redhat.com> - 6.6.4-1
- Rebase to acct-6.6.4
- lastcomm: Fixed "--pid" twice in manpage
* Fri Mar 02 2018 Jan Rybar <jrybar@redhat.com> - 6.6.3-4 * Fri Mar 02 2018 Jan Rybar <jrybar@redhat.com> - 6.6.3-4
- SPEC - changes in Requires and BuildRequires - systemd and gcc - SPEC - changes in Requires and BuildRequires - systemd and gcc

View File

@ -1,12 +0,0 @@
diff -up acct-6.3.2/sa.8.pom acct-6.3.2/sa.8
--- acct-6.3.2/sa.8.pom 2008-11-13 13:08:54.000000000 +0100
+++ acct-6.3.2/sa.8 2008-11-13 13:09:38.000000000 +0100
@@ -323,8 +323,6 @@ file.
.I acct
The raw system wide process accounting file. See
.BR acct (5)
-(or
-.BR pacct (5))
for further details.
.TP
.I savacct

View File

@ -1,12 +0,0 @@
diff -up acct-6.5.4/lastcomm.1.pom acct-6.5.4/lastcomm.1
--- acct-6.5.4/lastcomm.1.pom 2010-01-23 20:18:03.000000000 +0100
+++ acct-6.5.4/lastcomm.1 2010-02-12 12:57:34.000000000 +0100
@@ -111,7 +111,7 @@ For each entry the following information
D -- command terminated with the generation of a core file
X -- command was terminated with the signal SIGTERM
+ the name of the user who ran the process
- + time the process exited
+ + time the process started
.SH OPTIONS
.PD 0
.TP

View File

@ -1,128 +0,0 @@
diff -up acct-6.3.2/dump-acct.8.orig acct-6.3.2/dump-acct.8
--- acct-6.3.2/dump-acct.8.orig 2009-12-02 13:56:58.000000000 +0100
+++ acct-6.3.2/dump-acct.8 2009-12-02 13:56:58.000000000 +0100
@@ -0,0 +1,37 @@
+.\" Copyright (C) 2009 Red Hat, Inc. All Rights Reserved.
+.\" Written by Ivana Hutarova Varekova <varekova@redhat.com>
+.TH DUMP_ACCT 8 "2009 December 2" "Linux accounting system"
+
+.SH NAME
+dump\-acct \- print an acct/pacct file in human-readable format
+
+.SH SYNOPSYS
+\fBdump-acct\fR [\fB-hrR\fR] [\fB-n\fR <\fIrecs\fR>] <\fBfiles\fR>
+ [\fB--num\fR <\fIrecs\fR>] [\fB--raw\fR] [\fB--reverse\fR] [\fB--help\fR]
+
+.SH DESCRIPTION
+The dump-acct command transforms the output \fBfile\fR from the
+accton format to the human-readable format: one record per line.
+Each record consists of severald fields which are separated by
+character "|" (the meaning of concreate field depends on the
+version of kernel package - with which the accton file was created).
+
+.SH OPTIONS
+The following options are supported:
+.TP
+.B -h, --help
+Print a help message and the default location of the process accounting file
+and exit.
+.TP
+.B -r, --reverse
+Print the output in reverse order.
+.TP
+.B -R, --raw
+The records will be printed without any parsing.
+.TP
+.B -n, --num NUMRECS
+Display only the first NUMRECS number of records.
+
+.SH SEE ALSO
+accton (8), lastcomm (1)
+
diff -up ./acct-6.5.5/dump-utmp.8.orig ./acct-6.5.5/dump-utmp.8
--- acct-6.5.5/dump-utmp.8.orig 2010-10-23 13:33:27.000000000 +0200
+++ acct-6.5.5/dump-utmp.8 2010-11-09 17:08:53.000000000 +0100
@@ -1,65 +1,29 @@
-.TH DUMP-UTMP 8 "2006-04-22" "6.5.1" "GNU Accounting Utilities"
+.\" Copyright (C) 2009 Red Hat, Inc. All Rights Reserved.
+.\" Written by Ivana Hutarova Varekova <varekova@redhat.com>
+.TH DUMP_UTMP 8 "2009 December 2" "Linux accounting system"
.SH NAME
-dump-utmp \- print an utmp file in human-readable format.
+dump\-utmp \- print a utmp file in human-readable format
-.SH SYNOPSIS
-.B dump-acct
-.RB [\| \-r \||\| \-\-reverse \|]
-.RB [\| \-R \||\| \-\-raw \|]
-.RB [\| \-n \||\| \-\-num
-.IR recs \|]
-.RB [\| \-h \||\| \-\-help \|]
-.RB [\|
-.IR files \|]
-
-.SH DESCRIPTION
-.B dump-acct
-.I filename
-prints a list of all logins. This list is usually written in
-.IR /var/log/wtmp .
-.LP
-All fields are separated by vertical line. Fields are:
-.IR "user name" ,
-.IR tty ,
-.IR type ,
-.IR id ,
-.IR pid ,
-.IR hostaddr ,
-.IR host ,
-.IR time .
+.SH SYNOPSYS
+\fBdump-utmp\fR [\fB-hrR\fR] [\fB-n\fR <\fIrecs\fR>] <\fBfiles\fR>
+ [\fB--num\fR <\fIrecs\fR>] [\fB--raw\fR] [\fB--reverse\fR] [\fB--help\fR]
.SH OPTIONS
+The following options are supported:
.TP
-.B \-h, \-\-help
-Prints the usage string and default locations of system files to standard output
-and exits.
-.TP
-.B \-n, \-\-num recs
-Number of lines to print.
+.B -h, --help
+Print a help message and the default location of the process accounting file
+and exit.
.TP
-.B \-r, \-\-reverse
-Start printing from last records.
+.B -r, --reverse
+Print the output in reverse order.
.TP
-.B \-R, \-\-raw
-Print raw records, not human-readable.
-
-.SH FILES
+.B -R, --raw
+The records will be printed without any parsing.
.TP
-.I wtmp
-The system wide login record file. See
-.BR wtmp (5)
-for further details.
+.B -n, --num NUMRECS
+Display only the first NUMRECS number of records.
.SH SEE ALSO
-.BR login (1),
-.BR wtmp (5),
-.BR init (8),
-.BR sa (8).
-
-.SH AUTHOR
-The GNU accounting utilities were written by Noel Cragg <noel@gnu.ai.mit.edu>.
-.PP
-This manual page was written by Ognyan Kulev <ogi@fmi.uni-sofia.bg> and updated
-by Daniel Baumann <daniel@debian.org> for the Debian project (but may be used by
-others).
+accton (8), lastcomm (1), utmp (5)

View File

@ -1,167 +0,0 @@
diff -Naur acct-6.6.1.orig/ac.c acct-6.6.1/ac.c
--- acct-6.6.1.orig/ac.c 2011-03-16 23:50:13.000000000 +0100
+++ acct-6.6.1/ac.c 2013-07-31 16:44:17.859142249 +0200
@@ -343,12 +343,29 @@
void give_usage(void)
{
- (void)printf("\
- Usage: %s [-dhpVy] [-f <file>] [people] ...\n\
- [--daily-totals] [--individual-totals] [--file <file>]\n\
- [--complain] [--reboots] [--supplants] [--timewarps] [--print-year]\n\
- [--compatibility] [--print-zeros] [--debug] [--tw-leniency <value>]\n\
- [--tw-suspicious <value>] [--version] [--help]\n", program_name);
+ (void)printf(
+ "\n"
+ "Usage: %s [OPTION] ...\n"
+ "\n"
+ "OPTIONS:\n"
+ " -d, --daily-totals Print totals for each day\n"
+ " -p, --individual-totals Print time totals for each user\n"
+ " -f, --file <file> Read from <file>\n"
+ " --complain Print errors for whatever problem\n"
+ " --reboots Count the time between login and reboot\n"
+ " --supplants Count the time between logins on the terminal\n"
+ " --timewarps Count the time between login and time warp\n"
+ " --compatibility Shortcut for --reboots --supplants --timewarps\n"
+ " -a, --all-days Do not skip days without login activity\n"
+ " --tw-leniency <value> Set the time warp leniency <value> in seconds\n"
+ " --tw-suspicious <value> Set the time warp suspicious <value> in seconds\n"
+ " --print-year Print year when displaying dates\n"
+ " --print-zeros Don't suppress zeros in category totals\n"
+ " --debug Print verbose internal information\n"
+ " -V, --version Show version and exit\n"
+ " -h, --help Show help and exit\n"
+ , program_name);
+
print_wtmp_file_location();
}
diff -Naur acct-6.6.1.orig/dump-acct.c acct-6.6.1/dump-acct.c
--- acct-6.6.1.orig/dump-acct.c 2011-03-16 23:50:13.000000000 +0100
+++ acct-6.6.1/dump-acct.c 2013-07-31 17:45:03.075476755 +0200
@@ -52,6 +52,7 @@
#ifdef LINUX_MULTIFORMAT
- printf (" [--format <version>] [--byteswap]\n");
+ printf (" [--format <version>] [--byteswap]\n");
#endif
+ printf (" [--ahz <freq>]\n");
print_acct_file_location ();
}
diff -Naur acct-6.6.1.orig/lastcomm.c acct-6.6.1/lastcomm.c
--- acct-6.6.1.orig/lastcomm.c 2011-03-16 23:50:13.000000000 +0100
+++ acct-6.6.1/lastcomm.c 2013-07-31 18:01:57.772529043 +0200
@@ -304,7 +304,7 @@
#ifdef HAVE_PAGING
"[--show-paging] "
#endif
- "[--version] [--help]\n", program_name);
+ "[--ahz <freq>] [--version] [--help]\n", program_name);
print_acct_file_location ();
}
diff -Naur acct-6.6.1.orig/lastcomm.1 acct-6.6.1/lastcomm.1
--- acct-6.6.1.orig/lastcomm.1 2013-07-31 15:44:16.000000000 +0200
+++ acct-6.6.1/lastcomm.1 2013-07-31 17:08:33.442122085 +0200
@@ -18,54 +18,7 @@
.I terminal-name ...
]
.br
-[
-.B \-\-strict-match
-]
-.br
-[
-.B \-\-forwards
-]
-.br
-[
-.BI \-f " filename"
-|
-.BI \-\-file " filename"
-]
-[
-.BI \-\-ahz " hz"
-]
-.br
-[
-.B \-\-user
-.I name
-]
-[
-.B \-\-command
-.I name
-]
-[
-.B \-\-tty
-.I name
-]
-.br
-[
-.B \p
-|
-.B \-\-show_paging
-]
-[
-.B \-\-debug
-]
-[
-.B \-V
-|
-.B \-\-version
-]
-[
-.B \-h
-|
-.B \-\-help
-]
+[ OPTION ... ]
.ad b
.hy 1
.SH DESCRIPTION
@@ -115,10 +68,13 @@
.SH OPTIONS
.PD 0
.TP
-.B \-\-strict-match
+.B \-\-strict\-match
Print only entries that match *all* of the arguments on the command
line.
.TP
+.B \-\-print\-controls
+Print control characters.
+.TP
.BI \-\-user " name"
List records for user with
.I name.
diff -Naur acct-6.6.1.orig/sa.8 acct-6.6.1/sa.8
--- acct-6.6.1.orig/sa.8 2013-07-31 15:44:16.000000000 +0200
+++ acct-6.6.1/sa.8 2013-07-31 17:19:06.325431034 +0200
@@ -43,7 +43,7 @@
[
.B \-i
|
-.B \-\-dont-read-summary-file
+.B \-\-dont-read-summary-files
]
.br
[
@@ -282,7 +282,7 @@
When using the `\-\-threshold' option, assume that all answers to
interactive queries will be affirmative.
.TP
-.B \-i, \-\-dont-read-summary-file
+.B \-i, \-\-dont-read-summary-files
Don't read the information in the system's default
.I savacct
file.
@@ -386,7 +386,7 @@
.I SAVACCT
file.
.TP
-.BI \-\-other-file " filename"
+.BI \-\-other-acct-file " filename"
Read from the file
.I filename
instead of the system's default

View File

@ -1,57 +0,0 @@
diff -Naur acct-6.6.1.orig/dump-acct.8 acct-6.6.1/dump-acct.8
--- acct-6.6.1.orig/dump-acct.8 2013-07-31 18:56:57.000000000 +0200
+++ acct-6.6.1/dump-acct.8 2013-07-31 19:19:21.606615965 +0200
@@ -0,0 +1,53 @@
+.\" Copyright (C) 2009 Red Hat, Inc. All Rights Reserved.
+.\" Written by Ivana Hutarova Varekova <varekova@redhat.com>
+.TH DUMP_ACCT 8 "2009 December 2" "Linux accounting system"
+
+.SH NAME
+dump\-acct \- print an acct/pacct file in human-readable format
+
+.SH SYNOPSIS
+.B dump-acct
+[\fB\-r\fR|\fB\-\-reverse\fR]
+[\fB\-R\fR|\fB\-\-raw\fR]
+[\fB\-n\fR|\fB\-\-num\fR\ \fIrecs\fR]
+[\fB\-\-byte\-swap\fR]
+[\fB\-\-format\fR]
+[\fB\-\-ahz\fR\ \fIfreq\fR]
+[\fB\-h\fR|\fB\-\-help\fR]
+[\fIfiles\fR]
+
+.SH DESCRIPTION
+The dump-acct command transforms the output \fBfile\fR from the
+accton format to the human-readable format: one record per line.
+Each record consists of severald fields which are separated by
+character "|" (the meaning of concreate field depends on the
+version of kernel package - with which the accton file was created).
+
+.SH OPTIONS
+The following options are supported:
+.TP
+.B -r, --reverse
+Print the output in reverse order.
+.TP
+.B -R, --raw
+The records will be printed without any parsing.
+.TP
+.B -n, --num NUMRECS
+Display only the first NUMRECS number of records.
+.TP
+.B --byteswap
+Swap the bytes (relative to your system's native byte order) in --raw output.
+.TP
+.B --format
+Set output format with --raw option.
+.TP
+.B --ahz FREQ
+Set the AHZ (platform dependent frequency in Hertz) to FREQ.
+.TP
+.B -h, --help
+Print a help message and the default location of the process accounting file
+and exit.
+
+.SH SEE ALSO
+accton (8), lastcomm (1)
+

View File

@ -1,105 +0,0 @@
diff -up ./lastcomm.1.ori ./lastcomm.1
--- ./lastcomm.1.ori 2017-02-08 23:28:06.000000000 +0100
+++ ./lastcomm.1 2017-06-22 16:21:46.249345984 +0200
@@ -122,13 +122,10 @@ format as your current machine, but has
.B AHZ.
.TP
.B \-p, \-\-show\-paging
-Print paging statistics
+Print paging statistics.
.TP
.B \-\-pid
-Add pid of the process and pid of the process parent to the output
-(pid is the last but one and parent pid the last column).
-These values are shown only when they are generated by acct function
-(depends on the version of kernel)
+Show PID and PPID of the process if acct version 3 format is supported by kernel.
.TP
.B \-\-debug
Print verbose internal information.
diff -up ./lastcomm.c.ori ./lastcomm.c
--- ./lastcomm.c.ori 2017-04-05 23:06:33.000000000 +0200
+++ ./lastcomm.c 2017-06-22 16:21:14.814430103 +0200
@@ -77,6 +77,8 @@ char *program_name; /* name of the prog
int show_paging = 0; /* If they want paging stats, print 'em */
+char show_pid = 0;
+
static unsigned int hzval;
/* Here are various lists for the user to specify entries that they
@@ -125,6 +127,9 @@ int main(int argc, char *argv[])
{ "show-paging", no_argument, NULL, 11 },
#endif
{ "forwards", no_argument, NULL, 12 },
+#ifdef LINUX_MULTIFORMAT
+ { "pid", no_argument, NULL, 13},
+#endif
{ 0, 0, 0, 0 }
};
@@ -209,6 +214,9 @@ int main(int argc, char *argv[])
}
backwards = 0;
break;
+ case 13:
+ show_pid = 1;
+ break;
case 'h':
case 3:
/* This should fall through to default! */
@@ -304,6 +312,7 @@ void give_usage(void)
#ifdef HAVE_PAGING
"[--show-paging] "
#endif
+ "[--pid] "
"[--ahz <freq>] [--version] [--help]\n", program_name);
print_acct_file_location ();
}
@@ -392,8 +401,8 @@ void parse_entries(void)
(void)putchar(' ');
btime = (time_t) rec->ac_btime;
- if ( show_paging == 0 )
- (void)printf(" %-8.8s %-8.8s %6.2f secs %-16.16s\n",
+ if ( show_paging == 0)
+ (void)printf(" %-8.8s %-8.8s %6.2f secs %-16.16s",
this_uid, this_dev,
#ifdef LINUX_MULTIFORMAT
((ut + st) / (double) rec->ac_ahz),
@@ -403,7 +412,7 @@ void parse_entries(void)
ctime (&btime));
else
#ifdef HAVE_PAGING
- (void)printf(" %6.0fmin %6.0fmaj %4.0fswp %6.2f secs %-16.16s\n",
+ (void)printf(" %6.0fmin %6.0fmaj %4.0fswp %6.2f secs %-16.16s",
minf, majf, swap,
#ifdef LINUX_MULTIFORMAT
((ut + st) / (double) rec->ac_ahz),
@@ -412,8 +421,24 @@ void parse_entries(void)
#endif
ctime (&btime));
#else
- (void)printf(" --- No paging statistics! --- \n" );
+ (void)printf(" --- No paging statistics! --- " );
#endif
+
+
+ if (show_pid)
+ {
+#ifdef LINUX_MULTIFORMAT
+ if ((rec->ac_version & 0x7f) == 3)
+ {
+ (void) printf(" %d %d", rec->ac_pid, rec->ac_ppid);
+ }
+#else
+ (void)printf(" --- No PID information available! --- " );
+#endif
+ }
+
+
+ (void) printf("\n");
}
}
}

View File

@ -1,82 +0,0 @@
#!/bin/bash
#
# psacct Script to control kernel process accounting
#
# Author: Mike A. Harris <mharris@redhat.com>
#
# chkconfig: - 90 10
# description: Starts and stops process accounting
# short-description: Starts and stops process accounting
### BEGIN INIT INFO
# Required-Start:
# Required-Stop:
# Provides: psacct
# Default-Start:
# Default-Stop: 0 1 2 3 4 5 6
# Description: Starts and stops process accounting
# Short-Description: Starts and stops process accounting
### END INIT INFO
# Source function library.
. /etc/init.d/functions
# The location of the accounting file
ACCTFILE=/var/account/pacct
LOCKFILE=/var/lock/subsys/psacct
start() {
[ ! -r $ACCTFILE ] && touch $ACCTFILE && chmod 600 $ACCTFILE
if [ -r $ACCTFILE ]; then
action $"Starting process accounting: " /sbin/accton $ACCTFILE
RETVAL=$?
if [ $RETVAL -eq 0 ]; then
touch $LOCKFILE
else
exit 7
fi
else
exit 4
fi
}
stop() {
action $"Shutting down process accounting: " /sbin/accton off
RETVAL=$?
if [ $RETVAL -eq 0 ]; then
rm -f $LOCKFILE
else
exit 1
fi
}
# See how we were called.
case "$1" in
start)
start
;;
stop)
stop
;;
status)
if [ -e $LOCKFILE ]; then
echo $"Process accounting is enabled."
else
echo $"Process accounting is disabled."
exit 3
fi
;;
restart|reload|force-reload)
stop
start
;;
*)
# do not advertise unreasonable commands that there is no reason
# to use with this device
echo $"Usage: $0 {start|stop|status|restart|reload|force-reload}"
exit 2
esac
exit 0

View File

@ -1 +0,0 @@
SHA512 (acct-6.6.3.tar.gz) = 161a0c19af9cfb88689935dca0d64c94922bcf9135063349ef8c4d2bf7702864ade1b75ebab2b4fe182a7a9011b755e8608d253a30a263038bc8d57a22a92bc2