psacct dump-acct에서 pid 및 ppid 필드를 활성화하려면 어떻게 해야 합니까?

psacct dump-acct에서 pid 및 ppid 필드를 활성화하려면 어떻게 해야 합니까?

현재 Centos에서 psacct 패키지를 사용하여 사용자가 실행하는 프로세스에 대한 계정을 수행하고 있습니다.

정보 파일1운영 체제가 구조체 acct에 제공하는 정보에 따라 pid 및 ppid를 출력할 수 있음을 제안합니다.

pid와 ppid는 내 시스템의 /usr/include/linux/acct.h에 나열되어 있습니다.

struct acct_v3
{
        char            ac_flag;                /* Flags */
        char            ac_version;             /* Always set to ACCT_VERSION */
        __u16           ac_tty;                 /* Control Terminal */
        __u32           ac_exitcode;            /* Exitcode */
        __u32           ac_uid;                 /* Real User ID */
        __u32           ac_gid;                 /* Real Group ID */
        __u32           ac_pid;                 /* Process ID */
        __u32           ac_ppid;                /* Parent Process ID */
...

하지만 dump-acct를 실행하면 pid와 ppid가 출력되지 않습니다.

# dump-acct /var/account/pacct.1 | tail
awk              |   0.0|   0.0|  81.0|    0|    0|8792.0|Thu Nov 24 04:03:04 2011
tmpwatch         |   0.0|   0.0|   1.0|    0|    0|3816.0|Thu Nov 24 04:03:04 2011
cups             |   0.0|   0.0|   4.0|    0|    0|8728.0|Thu Nov 24 04:03:04 2011
awk              |   0.0|   0.0|   4.0|    0|    0|8792.0|Thu Nov 24 04:03:04 2011
runlevel         |   0.0|   0.0|   0.0|    0|    0|3804.0|Thu Nov 24 04:03:04 2011
chkconfig        |   0.0|   0.0|   0.0|    0|    0|3840.0|Thu Nov 24 04:03:04 2011
inn-cron-expire  |   0.0|   0.0|   0.0|    0|    0|8728.0|Thu Nov 24 04:03:04 2011
awk              |   0.0|   0.0|   0.0|    0|    0|8792.0|Thu Nov 24 04:03:04 2011
gzip             |   5.0|   0.0|   9.0|    0|    0|4044.0|Thu Nov 24 04:03:04 2011
accton           |   0.0|   0.0|   1.0|    0|    0|   0.0|Thu Nov 24 04:03:04 2011

내 커널에서 이 기능을 지원하지 않거나 내 psacct 버전이 이 기능을 지원하지 않을 가능성이 있습니까?

내 계정 로그에 pid 및 ppid를 어떻게 추가할 수 있나요?

CentOS 릴리스 5.6

커널 2.6.18-238.19.1.el5

psacct6.3.2

답변1

방금 이걸 네이버에서 찾았어요psacct RPM에 대한 변경 로그:

* Fri Nov 13 2009 Ivana Varekova <varekova(at)redhat.com> - 6.3.2-56
  - fix the psacct to deal with all acct types and
    if it is possible and wanted then add the possibility
    to display the pid and ppid number

따라서 정확히 어떤 릴리스를 사용하고 있는지에 따라 달라지는 것 같습니다.

답변2

CentOS release 5.6
psacct 6.3.2

CentOS 5.6과 함께 제공되는 패키지 psacct에는 릴리스 번호 44가 있습니다.

Name       : psacct
Arch       : x86_64
Version    : 6.3.2
Release    : 44.el5
Size       : 107 k
Repo       : installed
Summary    : Utilities for monitoring process activities.
License    : GPL
Description: The psacct package contains several utilities for monitoring process
           : activities, including ac, lastcomm, accton and sa. The ac command
           : displays statistics about how long users have been logged on. The
           : lastcomm command displays information about previous executed
           : commands. The accton command turns process accounting on or off. The
           : sa command summarizes information about previously executed
           : commands.

@Ladadadada가 언급했듯이 변경 로그에 따르면 PID 및 PPID는 6.3.2-56 버전에서만 사용할 수 있습니다. 내 CentOS 6(psacct-6.3.2-63)에서:

accton           |   0.0|   0.0|   1.0|    0|    0|3832.0|   16114    16111|Thu Nov 24 13:37:50 2011
touch            |   0.0|   0.0|   3.0|    0|    0|105088.0|   16115    16111|Thu Nov 24 13:37:50 2011
psacct           |   0.0|   0.0|   9.0|    0|    0|106304.0|   16111    16059|Thu Nov 24 13:37:50 2011
w                |   0.0|   0.0|   3.0|    0|    0|105280.0|   16116    16059|Thu Nov 24 13:37:52 2011

관련 정보