Make procstat(1) recognize process descriptors, so that it shows
"P" instead of "?" in "procstat -af" output. Note that there are still a few more DTYPE_* kinds we don't decode yet. Reported by: rwatson MFC after: 2 weeks Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D12426
This commit is contained in:
parent
a470b2750f
commit
3cfa7c6e48
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=324237
@ -582,6 +582,10 @@ procstat_getfiles_kvm(struct procstat *procstat, struct kinfo_proc *kp, int mmap
|
|||||||
type = PS_FST_TYPE_SHM;
|
type = PS_FST_TYPE_SHM;
|
||||||
data = file.f_data;
|
data = file.f_data;
|
||||||
break;
|
break;
|
||||||
|
case DTYPE_PROCDESC:
|
||||||
|
type = PS_FST_TYPE_PROCDESC;
|
||||||
|
data = file.f_data;
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
@ -665,6 +669,7 @@ kinfo_type2fst(int kftype)
|
|||||||
int kf_type;
|
int kf_type;
|
||||||
int fst_type;
|
int fst_type;
|
||||||
} kftypes2fst[] = {
|
} kftypes2fst[] = {
|
||||||
|
{ KF_TYPE_PROCDESC, PS_FST_TYPE_PROCDESC },
|
||||||
{ KF_TYPE_CRYPTO, PS_FST_TYPE_CRYPTO },
|
{ KF_TYPE_CRYPTO, PS_FST_TYPE_CRYPTO },
|
||||||
{ KF_TYPE_FIFO, PS_FST_TYPE_FIFO },
|
{ KF_TYPE_FIFO, PS_FST_TYPE_FIFO },
|
||||||
{ KF_TYPE_KQUEUE, PS_FST_TYPE_KQUEUE },
|
{ KF_TYPE_KQUEUE, PS_FST_TYPE_KQUEUE },
|
||||||
|
@ -68,6 +68,7 @@
|
|||||||
#define PS_FST_TYPE_SEM 10
|
#define PS_FST_TYPE_SEM 10
|
||||||
#define PS_FST_TYPE_UNKNOWN 11
|
#define PS_FST_TYPE_UNKNOWN 11
|
||||||
#define PS_FST_TYPE_NONE 12
|
#define PS_FST_TYPE_NONE 12
|
||||||
|
#define PS_FST_TYPE_PROCDESC 13
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Special descriptor numbers.
|
* Special descriptor numbers.
|
||||||
|
@ -25,7 +25,7 @@
|
|||||||
.\"
|
.\"
|
||||||
.\" $FreeBSD$
|
.\" $FreeBSD$
|
||||||
.\"
|
.\"
|
||||||
.Dd May 26, 2017
|
.Dd October 3, 2017
|
||||||
.Dt PROCSTAT 1
|
.Dt PROCSTAT 1
|
||||||
.Os
|
.Os
|
||||||
.Sh NAME
|
.Sh NAME
|
||||||
@ -212,6 +212,8 @@ shared memory
|
|||||||
kqueue
|
kqueue
|
||||||
.It m
|
.It m
|
||||||
message queue
|
message queue
|
||||||
|
.It P
|
||||||
|
process descriptor
|
||||||
.It p
|
.It p
|
||||||
pipe
|
pipe
|
||||||
.It s
|
.It s
|
||||||
|
@ -400,6 +400,11 @@ procstat_files(struct procstat *procstat, struct kinfo_proc *kipp)
|
|||||||
xo_emit("{eq:fd_type/sem}");
|
xo_emit("{eq:fd_type/sem}");
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case PS_FST_TYPE_PROCDESC:
|
||||||
|
str = "P";
|
||||||
|
xo_emit("{eq:fd_type/procdesc}");
|
||||||
|
break;
|
||||||
|
|
||||||
case PS_FST_TYPE_NONE:
|
case PS_FST_TYPE_NONE:
|
||||||
str = "?";
|
str = "?";
|
||||||
xo_emit("{eq:fd_type/none}");
|
xo_emit("{eq:fd_type/none}");
|
||||||
|
Loading…
Reference in New Issue
Block a user