1. /proc/pid 目录下各种参数:
cmdline:该文件包含了进程的完整命令行参数.
cwd:软连接,根目录 cwd -> /。
environ:该文件包含了当前进程的环境变量。
exe:软连接,exe -> /system/bin/init。
fd:该目录包含了当前进程打开的文件描述符的列表,可以进一步访问每个文件描述符对应的文件路径等信息。
mounts:该文件列出了当前进程挂载的文件系统。
status:该文件包含了当前进程的状态信息,如进程ID、父进程ID、用户ID、状态等。
stat:该文件提供了当前进程的详细状态信息,如运行时间、CPU使用情况、内存使用情况等。
maps:该文件提供了当前进程的内存映射信息,包括可执行文件、共享库、堆栈等。
oom_adj:该文件包含了当前进程的OOM(Out-of-Memory)调整值,用于内核决定在内存不足时终止哪些进程。
oom_score:该文件提供了当前进程的OOM分数,用于内核根据进程优先级进行内存回收。
sched:该目录包含了当前进程的调度器相关信息,如调度策略、优先级等。
2.实例:
以init 为列:
目录:/proc/1
(1) cat cmdline
/system/bin/initsecond_stage
(2) ls -all cwd 软连接
lrwxrwxrwx 1 root root 0 2024-01-27 15:48:46.096936792 +0800 cwd -> /
(3) cat environ 环境变量
PATH=/product/bin
:/apex/com.android.runtime/bin
:/apex/com.android.art/bin
:/system_ext/bin
:/system/bin:/system/xbin
:/odm/bin
:/vendor/bin
:/vendor/xbinINIT_MODULE_DURATION_MS=3275INIT_AVB_VERSION=1.2FIRST_STAGE_STARTED_AT=1049720000SELINUX_STARTED_AT=4919411692
(4) ls -all exe 软连接
lrwxrwxrwx 1 root root 0 2024-01-27 15:48:46.096936792 +0800 exe -> /system/bin/init
(5) ls -all fd
total 0
dr-x------ 2 root root 0 2024-01-27 15:48:46.096936792 +0800 .
dr-xr-xr-x 9 root root 0 2024-01-18 01:21:44.712000000 +0800 ..
lrwx------ 1 root root 64 2024-01-27 15:56:14.296936819 +0800 0 -> /dev/null
lrwx------ 1 root root 64 2024-01-27 15:56:14.296936819 +0800 1 -> /dev/null
lrwx------ 1 root root 64 2024-01-27 15:56:14.296936819 +0800 10 -> socket:[24760]
lr-x------ 1 root root 64 2024-01-27 15:56:14.296936819 +0800 11 -> /proc/1/mounts
lrwx------ 1 root root 64 2024-01-27 15:56:14.296936819 +0800 12 -> anon_inode:[eventpoll]
lrwx------ 1 root root 64 2024-01-27 15:56:14.296936819 +0800 13 -> anon_inode:[eventpoll]
lrwx------ 1 root root 64 2024-01-27 15:56:14.296936819 +0800 14 -> anon_inode:[eventfd]
lrwx------ 1 root root 64 2024-01-27 15:56:14.296936819 +0800 15 -> anon_inode:[eventpoll]
lrwx------ 1 root root 64 2024-01-27 15:56:14.296936819 +0800 16 -> anon_inode:[eventfd]
lr-x------ 1 root root 64 2024-01-27 15:56:14.296936819 +0800 17 -> mnt:[4026531840]
lr-x------ 1 root root 64 2024-01-27 15:56:14.296936819 +0800 18 -> mnt:[4026533499]
lrwx------ 1 root root 64 2024-01-27 15:56:14.296936819 +0800 19 -> socket:[24068]
lrwx------ 1 root root 64 2024-01-27 15:56:14.296936819 +0800 2 -> /dev/null
lrwx------ 1 root root 64 2024-01-27 15:56:14.296936819 +0800 20 -> /dev/device-mapper
l-wx------ 1 root root 64 2024-01-27 15:56:14.296936819 +0800 21 -> /sys/kernel/tracing/trace_marker
l-wx------ 1 root root 64 2024-01-27 15:56:14.296936819 +0800 22 -> /dev/kmsg
l-wx------ 1 root root 64 2024-01-27 15:56:14.296936819 +0800 23 -> /dev/kmsg
lr-x------ 1 root root 64 2024-01-27 15:56:14.296936819 +0800 24 -> /dev/input/event0
lr-x------ 1 root root 64 2024-01-27 15:56:14.296936819 +0800 25 -> /dev/input/event1
l-wx------ 1 root root 64 2024-01-27 15:56:14.296936819 +0800 27 -> /dev/kmsg
lr-x------ 1 root root 64 2024-01-27 15:56:14.296936819 +0800 4 -> anon_inode:inotify
lrwx------ 1 root root 64 2024-01-27 15:56:14.296936819 +0800 5 -> anon_inode:[eventpoll]
lrwx------ 1 root root 64 2024-01-27 15:56:14.296936819 +0800 6 -> anon_inode:[signalfd]
lrwx------ 1 root root 64 2024-01-27 15:56:14.296936819 +0800 7 -> anon_inode:[eventfd]
lrwx------ 1 root root 64 2024-01-27 15:56:14.296936819 +0800 8 -> socket:[24758]
lrwx------ 1 root root 64 2024-01-27 15:56:14.296936819 +0800 9 -> socket:[24759]
(6) cat mounts
/dev/block/dm-2 / ext4 ro,seclabel,relatime 0 0
tmpfs /dev tmpfs rw,seclabel,nosuid,relatime,size=3798748k,nr_inodes=949687,mode=755 0 0
devpts /dev/pts devpts rw,seclabel,relatime,mode=600,ptmxmode=000 0 0
proc /proc proc rw,relatime,gid=3009,hidepid=invisible 0 0
sysfs /sys sysfs rw,seclabel,relatime 0 0
selinuxfs /sys/fs/selinux selinuxfs rw,relatime 0 0
tmpfs /mnt tmpfs rw,seclabel,nosuid,nodev,noexec,relatime,size=3798748k,nr_inodes=949687,mode=755,gid=1000 0 0
/dev/block/dm-6 /mnt/scratch f2fs rw,lazytime,seclabel,noatime,background_gc=on,discard,no_heap,user_xattr,inline_xattr,acl,inline_data,inline_dentry,flush_merge,extent_cache,mode=adaptive,active_logs=6,alloc_mode=reuse,checkpoint_merge,fsync_mode=posix 0 0
tmpfs /mnt/installer tmpfs rw,seclabel,nosuid,nodev,noexec,relatime,size=3798748k,nr_inodes=949687,mode=755,gid=1000 0 0
tmpfs /mnt/androidwritable tmpfs rw,seclabel,nosuid,nodev,noexec,relatime,size=3798748k,nr_inodes=949687,mode=755,gid=1000 0 0
/dev/block/by-name/metadata /metadata ext4 rw,seclabel,nosuid,nodev,noatime,discard 0 0
/dev/block/dm-4 /vendor ext4 ro,seclabel,relatime 0 0
overlay /vendor overlay ro,seclabel,noatime,lowerdir=/vendor,upperdir=/mnt/scratch/overlay/vendor/upper,workdir=/mnt/scratch/overlay/vendor/work,override_creds=off 0 0
/dev/block/dm-1 /product ext4 ro,seclabel,relatime 0 0
overlay /product overlay ro,seclabel,noatime,lowerdir=/product,upperdir=/mnt/scratch/overlay/product/upper,workdir=/mnt/scratch/overlay/product/work,override_creds=off 0 0
/dev/block/dm-5 /vendor_dlkm ext4 ro,seclabel,relatime 0 0
overlay /vendor_dlkm overlay ro,seclabel,noatime,lowerdir=/vendor_dlkm,upperdir=/mnt/scratch/overlay/vendor_dlkm/upper,workdir=/mnt/scratch/overlay/vendor_dlkm/work,override_creds=off 0 0
/dev/block/dm-0 /odm_dlkm ext4 ro,seclabel,relatime 0 0
overlay /odm_dlkm overlay ro,seclabel,noatime,lowerdir=/odm_dlkm,upperdir=/mnt/scratch/overlay/odm_dlkm/upper,workdir=/mnt/scratch/overlay/odm_dlkm/work,override_creds=off 0 0
overlay /system overlay ro,seclabel,noatime,lowerdir=/system,upperdir=/mnt/scratch/overlay/system/upper,workdir=/mnt/scratch/overlay/system/work,override_creds=off 0 0
tmpfs /apex tmpfs rw,seclabel,nosuid,nodev,noexec,relatime,size=3798748k,nr_inodes=949687,mode=755 0 0
tmpfs /linkerconfig tmpfs rw,seclabel,nosuid,nodev,noexec,relatime,size=3798748k,nr_inodes=949687,mode=755 0 0
none /dev/blkio cgroup rw,nosuid,nodev,noexec,relatime,blkio 0 0
none /sys/fs/cgroup cgroup2 rw,nosuid,nodev,noexec,relatime,memory_recursiveprot 0 0
none /dev/cpuctl cgroup rw,nosuid,nodev,noexec,relatime,cpu 0 0
none /dev/cpuset cgroup rw,nosuid,nodev,noexec,relatime,cpuset,noprefix,release_agent=/sbin/cpuset_release_agent 0 0
none /dev/memcg cgroup rw,nosuid,nodev,noexec,relatime,memory 0 0
tracefs /sys/kernel/tracing tracefs rw,seclabel,relatime,gid=3012 0 0
debugfs /sys/kernel/debug debugfs rw,seclabel,relatime 0 0
none /config configfs rw,nosuid,nodev,noexec,relatime 0 0
binder /dev/binderfs binder rw,relatime,max=1048576,stats=global 0 0
none /sys/fs/fuse/connections fusectl rw,relatime 0 0
none /sys/fs/bpf bpf rw,nosuid,nodev,noexec,relatime 0 0
pstore /sys/fs/pstore pstore rw,seclabel,nosuid,nodev,noexec,relatime 0 0
/dev/block/by-name/protect1 /mnt/vendor/protect_f ext4 rw,seclabel,nosuid,nodev,noatime,nodelalloc,noauto_da_alloc,commit=1 0 0
/dev/block/by-name/protect2 /mnt/vendor/protect_s ext4 rw,seclabel,nosuid,nodev,noatime,nodelalloc,noauto_da_alloc,commit=1 0 0
/dev/block/by-name/nvdata /mnt/vendor/nvdata ext4 rw,seclabel,nosuid,nodev,noatime,nodelalloc,noauto_da_alloc,commit=1 0 0
/dev/block/by-name/nvcfg /mnt/vendor/nvcfg ext4 rw,seclabel,nosuid,nodev,noatime,nodelalloc,noauto_da_alloc,commit=1 0 0
/dev/block/by-name/persist /mnt/vendor/persist ext4 rw,seclabel,nosuid,nodev,noatime,nodelalloc,noauto_da_alloc,commit=1 0 0
/dev/block/by-name/carrier /mnt/carrier ext4 rw,seclabel,nosuid,nodev,noatime,discard,noauto_da_alloc 0 0
/dev/block/by-name/tnpst /mnt/tnpst ext4 rw,seclabel,nosuid,nodev,noatime,discard,noauto_da_alloc 0 0
/dev/block/by-name/poweron_info /mnt/poweron_info ext4 rw,seclabel,nosuid,nodev,noatime,discard,noauto_da_alloc 0 0
tmpfs /storage tmpfs rw,seclabel,nosuid,nodev,noexec,relatime,size=3798748k,nr_inodes=949687,mode=755,gid=1000 0 0
adb /dev/usb-ffs/adb functionfs rw,relatime 0 0
mtp /dev/usb-ffs/mtp functionfs rw,relatime 0 0
ptp /dev/usb-ffs/ptp functionfs rw,relatime 0 0
/dev/block/dm-37 /data f2fs rw,lazytime,seclabel,nosuid,nodev,noatime,background_gc=on,discard,no_heap,user_xattr,inline_xattr,acl,inline_data,inline_dentry,flush_merge,extent_cache,mode=adaptive,active_logs=6,reserve_root=134217,resuid=0,resgid=1065,inlinecrypt,alloc_mode=default,checkpoint_merge,fsync_mode=nobarrier 0 0
tmpfs /linkerconfig tmpfs rw,seclabel,nosuid,nodev,noexec,relatime,size=3798748k,nr_inodes=949687,mode=755 0 0
/dev/block/loop6 /apex/com.android.vndk.v31@1 ext4 ro,dirsync,seclabel,nodev,noatime 0 0
/dev/block/loop5 /apex/com.android.btservices@339990000 ext4 ro,dirsync,seclabel,nodev,noatime 0 0
/dev/block/loop6 /apex/com.android.vndk.v31 ext4 ro,dirsync,seclabel,nodev,noatime 0 0
/dev/block/loop5 /apex/com.android.btservices ext4 ro,dirsync,seclabel,nodev,noatime 0 0
/dev/block/loop9 /apex/com.android.cellbroadcast@331910000 ext4 ro,dirsync,seclabel,nodev,noatime 0 0
/dev/block/loop9 /apex/com.android.cellbroadcast ext4 ro,dirsync,seclabel,nodev,noatime 0 0
/dev/block/loop10 /apex/com.android.neuralnetworks@331310000 ext4 ro,dirsync,seclabel,nodev,noatime 0 0
/dev/block/loop10 /apex/com.android.neuralnetworks ext4 ro,dirsync,seclabel,nodev,noatime 0 0
/dev/block/loop11 /apex/com.android.resolv@331820000 ext4 ro,dirsync,seclabel,nodev,noatime 0 0
/dev/block/loop11 /apex/com.android.resolv ext4 ro,dirsync,seclabel,nodev,noatime 0 0
/dev/block/loop12 /apex/com.android.vndk.v30@1 ext4 ro,dirsync,seclabel,nodev,noatime 0 0
/dev/block/loop12 /apex/com.android.vndk.v30 ext4 ro,dirsync,seclabel,nodev,noatime 0 0
/dev/block/loop13 /apex/com.android.runtime@1 ext4 ro,dirsync,seclabel,nodev,noatime 0 0
/dev/block/loop13 /apex/com.android.runtime ext4 ro,dirsync,seclabel,nodev,noatime 0 0
/dev/block/loop14 /apex/com.google.mainline.primary.libs@331950000 ext4 ro,dirsync,seclabel,nodev,noatime 0 0
/dev/block/loop15 /apex/com.android.media@331911000 ext4 ro,dirsync,seclabel,nodev,noatime 0 0
/dev/block/loop15 /apex/com.android.media ext4 ro,dirsync,seclabel,nodev,noatime 0 0
/dev/block/dm-34 /apex/com.android.ondevicepersonalization@340821000 ext4 ro,dirsync,seclabel,nodev,noatime 0 0
/dev/block/dm-34 /apex/com.android.ondevicepersonalization ext4 ro,dirsync,seclabel,nodev,noatime 0 0
/dev/block/dm-33 /apex/com.android.adservices@341316030 ext4 ro,dirsync,seclabel,nodev,noatime 0 0
/dev/block/dm-33 /apex/com.android.adservices ext4 ro,dirsync,seclabel,nodev,noatime 0 0
/dev/block/loop17 /apex/com.android.vndk.v33@1 ext4 ro,dirsync,seclabel,nodev,noatime 0 0
/dev/block/loop17 /apex/com.android.vndk.v33 ext4 ro,dirsync,seclabel,nodev,noatime 0 0
/dev/block/loop18 /apex/com.android.i18n@1 ext4 ro,dirsync,seclabel,nodev,noatime 0 0
/dev/block/loop18 /apex/com.android.i18n ext4 ro,dirsync,seclabel,nodev,noatime 0 0
/dev/block/loop19 /apex/com.android.sdkext@331812000 ext4 ro,dirsync,seclabel,nodev,noatime 0 0
/dev/block/loop19 /apex/com.android.sdkext ext4 ro,dirsync,seclabel,nodev,noatime 0 0
/dev/block/loop20 /apex/com.android.apex.cts.shim@1 ext4 ro,dirsync,seclabel,nodev,noatime 0 0
/dev/block/loop20 /apex/com.android.apex.cts.shim ext4 ro,dirsync,seclabel,nodev,noatime 0 0
/dev/block/loop21 /apex/com.android.uwb@331910010 ext4 ro,dirsync,seclabel,nodev,noatime 0 0
/dev/block/loop21 /apex/com.android.uwb ext4 ro,dirsync,seclabel,nodev,noatime 0 0
/dev/block/loop22 /apex/com.android.extservices@331814220 ext4 ro,dirsync,seclabel,nodev,noatime 0 0
/dev/block/loop22 /apex/com.android.extservices ext4 ro,dirsync,seclabel,nodev,noatime 0 0
/dev/block/loop23 /apex/com.android.art@331813100 ext4 ro,dirsync,seclabel,nodev,noatime 0 0
/dev/block/loop24 /apex/com.android.conscrypt@331413000 ext4 ro,dirsync,seclabel,nodev,noatime 0 0
/dev/block/loop23 /apex/com.android.art ext4 ro,dirsync,seclabel,nodev,noatime 0 0
/dev/block/loop24 /apex/com.android.conscrypt ext4 ro,dirsync,seclabel,nodev,noatime 0 0
/dev/block/loop25 /apex/com.android.tzdata@331910000 ext4 ro,dirsync,seclabel,nodev,noatime 0 0
/dev/block/loop25 /apex/com.android.tzdata ext4 ro,dirsync,seclabel,nodev,noatime 0 0
/dev/block/loop26 /apex/com.android.permission@331913010 ext4 ro,dirsync,seclabel,nodev,noatime 0 0
/dev/block/loop27 /apex/com.android.appsearch@331311020 ext4 ro,dirsync,seclabel,nodev,noatime 0 0
/dev/block/loop26 /apex/com.android.permission ext4 ro,dirsync,seclabel,nodev,noatime 0 0
/dev/block/loop27 /apex/com.android.appsearch ext4 ro,dirsync,seclabel,nodev,noatime 0 0
/dev/block/loop28 /apex/com.android.adbd@331610002 ext4 ro,dirsync,seclabel,nodev,noatime 0 0
/dev/block/loop28 /apex/com.android.adbd ext4 ro,dirsync,seclabel,nodev,noatime 0 0
/dev/block/dm-37 /data/user/0 f2fs rw,lazytime,seclabel,nosuid,nodev,noatime,background_gc=on,discard,no_heap,user_xattr,inline_xattr,acl,inline_data,inline_dentry,flush_merge,extent_cache,mode=adaptive,active_logs=6,reserve_root=134217,resuid=0,resgid=1065,inlinecrypt,alloc_mode=default,checkpoint_merge,fsync_mode=nobarrier 0 0
/dev/block/loop29 /apex/com.android.media.swcodec@331911000 ext4 ro,dirsync,seclabel,nodev,noatime 0 0
tmpfs /data_mirror tmpfs rw,seclabel,nosuid,nodev,noexec,relatime,size=3798748k,nr_inodes=949687,mode=700,gid=1000 0 0
/dev/block/loop29 /apex/com.android.media.swcodec ext4 ro,dirsync,seclabel,nodev,noatime 0 0
/dev/block/loop30 /apex/com.android.mediaprovider@331918000 ext4 ro,dirsync,seclabel,nodev,noatime 0 0
/dev/block/loop30 /apex/com.android.mediaprovider ext4 ro,dirsync,seclabel,nodev,noatime 0 0
/dev/block/loop31 /apex/com.android.scheduling@331113000 ext4 ro,dirsync,seclabel,nodev,noatime 0 0
/dev/block/loop31 /apex/com.android.scheduling ext4 ro,dirsync,seclabel,nodev,noatime 0 0
/dev/block/dm-37 /data_mirror/data_ce/null f2fs rw,lazytime,seclabel,nosuid,nodev,noatime,background_gc=on,discard,no_heap,user_xattr,inline_xattr,acl,inline_data,inline_dentry,flush_merge,extent_cache,mode=adaptive,active_logs=6,reserve_root=134217,resuid=0,resgid=1065,inlinecrypt,alloc_mode=default,checkpoint_merge,fsync_mode=nobarrier 0 0
/dev/block/dm-37 /data_mirror/data_ce/null/0 f2fs rw,lazytime,seclabel,nosuid,nodev,noatime,background_gc=on,discard,no_heap,user_xattr,inline_xattr,acl,inline_data,inline_dentry,flush_merge,extent_cache,mode=adaptive,active_logs=6,reserve_root=134217,resuid=0,resgid=1065,inlinecrypt,alloc_mode=default,checkpoint_merge,fsync_mode=nobarrier 0 0
/dev/block/loop33 /apex/com.android.tethering@331910040 ext4 ro,dirsync,seclabel,nodev,noatime 0 0
/dev/block/dm-23 /apex/com.android.os.statsd@341114000 ext4 ro,dirsync,seclabel,nodev,noatime 0 0
/dev/block/loop33 /apex/com.android.tethering ext4 ro,dirsync,seclabel,nodev,noatime 0 0
/dev/block/dm-23 /apex/com.android.os.statsd ext4 ro,dirsync,seclabel,nodev,noatime 0 0
/dev/block/dm-37 /data_mirror/data_de/null f2fs rw,lazytime,seclabel,nosuid,nodev,noatime,background_gc=on,discard,no_heap,user_xattr,inline_xattr,acl,inline_data,inline_dentry,flush_merge,extent_cache,mode=adaptive,active_logs=6,reserve_root=134217,resuid=0,resgid=1065,inlinecrypt,alloc_mode=default,checkpoint_merge,fsync_mode=nobarrier 0 0
/dev/block/loop32 /apex/com.android.ipsec@331910010 ext4 ro,dirsync,seclabel,nodev,noatime 0 0
/dev/block/loop32 /apex/com.android.ipsec ext4 ro,dirsync,seclabel,nodev,noatime 0 0
/dev/block/dm-37 /data_mirror/cur_profiles f2fs rw,lazytime,seclabel,nosuid,nodev,noatime,background_gc=on,discard,no_heap,user_xattr,inline_xattr,acl,inline_data,inline_dentry,flush_merge,extent_cache,mode=adaptive,active_logs=6,reserve_root=134217,resuid=0,resgid=1065,inlinecrypt,alloc_mode=default,checkpoint_merge,fsync_mode=nobarrier 0 0
/dev/block/dm-37 /data_mirror/ref_profiles f2fs rw,lazytime,seclabel,nosuid,nodev,noatime,background_gc=on,discard,no_heap,user_xattr,inline_xattr,acl,inline_data,inline_dentry,flush_merge,extent_cache,mode=adaptive,active_logs=6,reserve_root=134217,resuid=0,resgid=1065,inlinecrypt,alloc_mode=default,checkpoint_merge,fsync_mode=nobarrier 0 0
/dev/block/dm-35 /apex/com.android.wifi@339990000 ext4 ro,dirsync,seclabel,nodev,noatime 0 0
/dev/block/dm-35 /apex/com.android.wifi ext4 ro,dirsync,seclabel,nodev,noatime 0 0
tmpfs /apex/apex-info-list.xml tmpfs rw,seclabel,nosuid,nodev,noexec,relatime,size=3798748k,nr_inodes=949687,mode=755 0 0
/dev/block/by-name/mcf_ota_a /mnt/vendor/mdota ext4 ro,seclabel,noatime 0 0
/dev/fuse /mnt/installer/0/emulated fuse rw,lazytime,nosuid,nodev,noexec,noatime,user_id=0,group_id=0,allow_other 0 0
/dev/fuse /mnt/androidwritable/0/emulated fuse rw,lazytime,nosuid,nodev,noexec,noatime,user_id=0,group_id=0,allow_other 0 0
/dev/fuse /mnt/user/0/emulated fuse rw,lazytime,nosuid,nodev,noexec,noatime,user_id=0,group_id=0,allow_other 0 0
/dev/fuse /storage/emulated fuse rw,lazytime,nosuid,nodev,noexec,noatime,user_id=0,group_id=0,allow_other 0 0
/dev/block/dm-37 /mnt/pass_through/0/emulated f2fs rw,lazytime,seclabel,nosuid,nodev,noatime,background_gc=on,discard,no_heap,user_xattr,inline_xattr,acl,inline_data,inline_dentry,flush_merge,extent_cache,mode=adaptive,active_logs=6,reserve_root=134217,resuid=0,resgid=1065,inlinecrypt,alloc_mode=default,checkpoint_merge,fsync_mode=nobarrier 0 0
/dev/block/dm-37 /mnt/androidwritable/0/emulated/0/Android/data f2fs rw,lazytime,seclabel,nosuid,nodev,noatime,background_gc=on,discard,no_heap,user_xattr,inline_xattr,acl,inline_data,inline_dentry,flush_merge,extent_cache,mode=adaptive,active_logs=6,reserve_root=134217,resuid=0,resgid=1065,inlinecrypt,alloc_mode=default,checkpoint_merge,fsync_mode=nobarrier 0 0
/dev/block/dm-37 /mnt/installer/0/emulated/0/Android/data f2fs rw,lazytime,seclabel,nosuid,nodev,noatime,background_gc=on,discard,no_heap,user_xattr,inline_xattr,acl,inline_data,inline_dentry,flush_merge,extent_cache,mode=adaptive,active_logs=6,reserve_root=134217,resuid=0,resgid=1065,inlinecrypt,alloc_mode=default,checkpoint_merge,fsync_mode=nobarrier 0 0
/dev/block/dm-37 /mnt/user/0/emulated/0/Android/data f2fs rw,lazytime,seclabel,nosuid,nodev,noatime,background_gc=on,discard,no_heap,user_xattr,inline_xattr,acl,inline_data,inline_dentry,flush_merge,extent_cache,mode=adaptive,active_logs=6,reserve_root=134217,resuid=0,resgid=1065,inlinecrypt,alloc_mode=default,checkpoint_merge,fsync_mode=nobarrier 0 0
/dev/block/dm-37 /storage/emulated/0/Android/data f2fs rw,lazytime,seclabel,nosuid,nodev,noatime,background_gc=on,discard,no_heap,user_xattr,inline_xattr,acl,inline_data,inline_dentry,flush_merge,extent_cache,mode=adaptive,active_logs=6,reserve_root=134217,resuid=0,resgid=1065,inlinecrypt,alloc_mode=default,checkpoint_merge,fsync_mode=nobarrier 0 0
/dev/block/dm-37 /mnt/androidwritable/0/emulated/0/Android/obb f2fs rw,lazytime,seclabel,nosuid,nodev,noatime,background_gc=on,discard,no_heap,user_xattr,inline_xattr,acl,inline_data,inline_dentry,flush_merge,extent_cache,mode=adaptive,active_logs=6,reserve_root=134217,resuid=0,resgid=1065,inlinecrypt,alloc_mode=default,checkpoint_merge,fsync_mode=nobarrier 0 0
/dev/block/dm-37 /mnt/installer/0/emulated/0/Android/obb f2fs rw,lazytime,seclabel,nosuid,nodev,noatime,background_gc=on,discard,no_heap,user_xattr,inline_xattr,acl,inline_data,inline_dentry,flush_merge,extent_cache,mode=adaptive,active_logs=6,reserve_root=134217,resuid=0,resgid=1065,inlinecrypt,alloc_mode=default,checkpoint_merge,fsync_mode=nobarrier 0 0
/dev/block/dm-37 /mnt/user/0/emulated/0/Android/obb f2fs rw,lazytime,seclabel,nosuid,nodev,noatime,background_gc=on,discard,no_heap,user_xattr,inline_xattr,acl,inline_data,inline_dentry,flush_merge,extent_cache,mode=adaptive,active_logs=6,reserve_root=134217,resuid=0,resgid=1065,inlinecrypt,alloc_mode=default,checkpoint_merge,fsync_mode=nobarrier 0 0
/dev/block/dm-37 /storage/emulated/0/Android/obb f2fs rw,lazytime,seclabel,nosuid,nodev,noatime,background_gc=on,discard,no_heap,user_xattr,inline_xattr,acl,inline_data,inline_dentry,flush_merge,extent_cache,mode=adaptive,active_logs=6,reserve_root=134217,resuid=0,resgid=1065,inlinecrypt,alloc_mode=default,checkpoint_merge,fsync_mode=nobarrier 0 0
(7) cat status
VmPeak: 表示进程所占用最大虚拟内存大小
VmSize: 表示进程当前虚拟内存大小
VmLck: 表示被锁定的内存大小
VmHWM: 表示进程所占用物理内存的峰值
VmRSS: 表示进程当前占用物理内存的大小(与procrank中的RSS)
VmData: 表示进程数据段的大小
VmStk: 表示进程堆栈段的大小
VmExe: 表示进程代码的大小
VmLib: 表示进程所使用共享库的大小
VmPTE: 表示进程页表项的大小
status参数含义
1. Name: 进程的名称,这里是"init",通常是进程的可执行文件的名称。
2. Umask: 进程的文件创建权限掩码。
3. State: 进程的状态,这里是"S (sleeping)",表示进程处于休眠状态。
4. Tgid: 进程的线程组ID。
5. Ngid: 进程的NUMA节点组ID。
6. Pid: 进程的ID。
7. PPid: 父进程的ID。
8. TracerPid: 跟踪该进程的调试器的进程ID。
9. Uid: 进程的用户ID,包括实际用户ID、有效用户ID、保存设置用户ID和文件系统用户ID。
10. Gid: 进程的组ID,包括实际组ID、有效组ID、保存设置组ID和文件系统组ID。
11. FDSize: 进程打开文件描述符的数量。 启动该进程的用户所处组。由于是root,所以为0。
12. Groups: 进程所属的用户组列表。
13. VmPeak: 进程的峰值虚拟内存使用量(单位:kB)。
14. VmSize: 进程当前的虚拟内存使用量(单位:kB)。表示进程所占用的内存,包含交换分区
15. VmLck: 进程锁定的内存量(单位:kB)。表示进程被锁住的内存,不允许交换到磁盘。需要使用系统调用mlock实现锁内存。相对于VMPin, VmLck被锁住的内存可以被内核在RAM中移动,程序下一次访问该页可能会触发软缺页中断,这对于一般程序来说没有影响,但对于硬实时的程序来说,这种错误不能被接受。
16. VmPin: 进程固定的内存量(单位:kB)。固定内存是固定在特定页框位置的锁定内存。固定的页面既不能被移除物理内存,也不能被内核在RAM中移动.
17. VmHWM: 进程的峰值物理内存使用量(单位:kB)。表示程序分配到的物理内存峰值
18. VmRSS: 进程当前的物理内存使用量(单位:kB)。
19. RssAnon: 进程匿名页的物理内存使用量(单位:kB)。
20. RssFile: 进程文件缓存的物理内存使用量(单位:kB)。
21. RssShmem: 进程共享内存的物理内存使用量(单位:kB)。
22. VmData: 进程数据段的物理内存使用量(单位:kB)。
23. VmStk: 进程堆栈的物理内存使用量(单位:kB)。
24. VmExe: 进程可执行代码的物理内存使用量(单位:kB)。
25. VmLib: 进程共享库的物理内存使用量(单位:kB)。
26. VmPTE: 进程页表的物理内存使用量(单位:kB)。
27. VmPMD: 进程PMD页的物理内存使用量(单位:kB)。
28. VmSwap: 进程使用的交换空间大小(单位:kB)。
29. Threads: 进程的线程数。
30. SigQ: 进程待处理的信号队列长度。
31. SigPnd: 进程挂起的信号集。
32. ShdPnd: 进程等待的共享内存信号集。
33. SigBlk: 进程阻塞的信号集。
34. SigIgn: 进程忽略的信号集。
35. SigCgt: 进程捕获的信号集。
36. CapInh: 进程继承的能力。
37. CapPrm: 进程能力限制。
38. CapEff: 进程当前的有效能力。
39. CapBnd: 进程绑定的能力。
40. CapAmb: 进程的可选能力。
41. Seccomp: 进程使用的seccomp模式。
42. Speculation_Store_Bypass: 未知状态。
43. Cpus_allowed: 进程允许运行的CPU掩码。
44. Cpus_allowed_list: 进程允许运行的CPU列表。
45. Mems_allowed: 进程允许使用的NUMA节点掩码。
46. Mems_allowed_list: 进程允许使用的NUMA节点列表。
47. voluntary_ctxt_switches: 进程主动上下文切换
48. nonvoluntary_ctxt_switches: 进程被迫的上下文切换次数。
Name: init
Umask: 0000// 进程状态,"R (running)", "S (sleeping)", "D (disk sleep)", "T (stopped)", "T(tracing stop)", // "Z (zombie)", or "X (dead)"
State: S (sleeping)
// 线程ID,准确的说是主线程ID,因为程序a.out 有两个线程
Tgid: 1
Ngid: 0
Pid: 1//父进程ID
PPid: 0
TracerPid: 0//解释:
// 第一列RUID:实际UID,表示程序执行的用户UID。
// 第二列EUID:有效UID,表示进程执行时,对文件的访问权限。
// 第三列SUID:保存设置用户ID,作为effective user ID的副本,在执行exec调用时后能重新恢复原来的effectiv user ID。
// 第四列FSUID:目前进程的文件系统的用户识别码.一般情况下,文件系统的用户识别码(fsuid)与有效的用户识别码(euid)是相同的
Uid: 0 0 0 0
Gid: 0 0 0 0//进程分配的文件描述符的最大值。只增不减
FDSize: 64
Groups: 3009//进程所占用最大虚拟内存大小
VmPeak: 11003312 kB/虚拟内存大小:10889100kB =7.09MB = 10.47GB
VmSize: 10985876 kB
VmLck: 0 kB
VmPin: 0 kB
VmHWM: 15264 kB///实际占物理内存大小: 7264kB = 7.09MB
VmRSS: 7264 kB
RssAnon: 2432 kB
RssFile: 3052 kB
RssShmem: 1780 kB
VmData: 21616 kB
VmStk: 132 kB
VmExe: 1472 kB
VmLib: 5340 kB
VmPTE: 388 kB
VmSwap: 3132 kB
CoreDumping: 0
THP_enabled: 1
Threads: 4
SigQ: 0/24197
SigPnd: 0000000000000000
ShdPnd: 0000000000000000
SigBlk: 0000000080010000
SigIgn: 0000002000000000
SigCgt: 0000004c400094f8
CapInh: 0000000000000000
CapPrm: 000001ffffffffff
CapEff: 000001ffffffffff
CapBnd: 000001ffffffffff
CapAmb: 0000000000000000
NoNewPrivs: 0
Seccomp: 0
Seccomp_filters: 0
Speculation_Store_Bypass: thread vulnerable
Cpus_allowed: ff
Cpus_allowed_list: 0-7
Mems_allowed: 1
Mems_allowed_list: 0//voluntary_ctxt_switches表示进程主动切换的次数.
voluntary_ctxt_switches: 22634
//nonvoluntary_ctxt_switches表示进程被动切换的次数.
nonvoluntary_ctxt_switches: 3407
(8) cat stat
1 (init) S 0 0 0 0 -1 1077936384 29200 103784829 760 2069 2163 4780 118627 158282 20 0 4 0 1 11249537024 1816 18446744073709551615 366896521216 366898028208 549396430032 0 0 0 65536 0 1073779960 0 0 0 17 2 0 0 20 0 0 366898052008 366898052480 367917428736 549396430530 549396430560 549396430560 549396430823 0
(9) cat maps
7d13be7000-7d13c07000 rw-s 00000000 00:10 291 /dev/__properties__/u:object_r:system_mtk_app32_boost_prop:s0
7d13c07000-7d13c27000 rw-s 00000000 00:10 290 /dev/__properties__/u:object_r:system_mtk_amslog_prop:s0
7d13c27000-7d13c47000 rw-s 00000000 00:10 289 /dev/__properties__/u:object_r:system_mtk_amsaal_prop:s0
7d13c47000-7d13c67000 rw-s 00000000 00:10 288 /dev/__properties__/u:object_r:system_mtk_aee_basic_prop:s0
7d13c67000-7d13c87000 rw-s 00000000 00:10 287 /dev/__properties__/u:object_r:system_mtk_acs_version_prop:s0
7d13c87000-7d13ca7000 rw-s 00000000 00:10 286 /dev/__properties__/u:object_r:system_mtk_acs_url_prop:s0
7d13ca7000-7d13cc7000 rw-s 00000000 00:10 285 /dev/__properties__/u:object_r:system_mtk_acs_support_prop:s0
7d13cc7000-7d13ce7000 rw-s 00000000 00:10 284 /dev/__properties__/u:object_r:system_mtk_aal_prop:s0
7d13ce7000-7d13d07000 rw-s 00000000 00:10 283 /dev/__properties__/u:object_r:system_lmk_prop:s0
7d13d07000-7d13d27000 rw-s 00000000 00:10 282 /dev/__properties__/u:object_r:system_jvmti_agent_prop:s0
7d13d27000-7d13d47000 rw-s 00000000 00:10 281 /dev/__properties__/u:object_r:system_boot_reason_prop:s0
7d13d47000-7d13d67000 rw-s 00000000 00:10 280 /dev/__properties__/u:object_r:system_adbd_prop:s0
7d13d67000-7d13d87000 rw-s 00000000 00:10 279 /dev/__properties__/u:object_r:suspend_prop:s0
7d13d87000-7d13da7000 rw-s 00000000 00:10 278 /dev/__properties__/u:object_r:surfaceflinger_prop:s0
7d13da7000-7d13dc7000 rw-s 00000000 00:10 277 /dev/__properties__/u:object_r:surfaceflinger_display_prop:s0
7d13dc7000-7d13de7000 rw-s 00000000 00:10 276 /dev/__properties__/u:object_r:surfaceflinger_color_prop:s0
7d13de7000-7d13e07000 rw-s 00000000 00:10 275 /dev/__properties__/u:object_r:storagemanager_config_prop:s0
7d13e07000-7d13e27000 rw-s 00000000 00:10 274 /dev/__properties__/u:object_r:storage_config_prop:s0
7d13e27000-7d13e47000 rw-s 00000000 00:10 273 /dev/__properties__/u:object_r:sqlite_log_prop:s0
7d13e47000-7d13e67000 rw-s 00000000 00:10 272 /dev/__properties__/u:object_r:socket_hook_prop:s0
7d13e67000-7d13e87000 rw-s 00000000 00:10 271 /dev/__properties__/u:object_r:soc_prop:s0
(10) cat oom_adj
-17
(11) cat oom_score
0
(12)cat sched
init (1, #threads: 4)
-------------------------------------------------------------------
se.exec_start : 833409303.923943
se.vruntime : 31744541.336752
se.sum_exec_runtime : 29869.525946
se.nr_migrations : 15473
se.statistics.sum_sleep_runtime : 833975532.331599
se.statistics.wait_start : 0.000000
se.statistics.sleep_start : 834009877.397613
se.statistics.block_start : 0.000000
se.statistics.sleep_max : 91757.569295
se.statistics.block_max : 692.283232
se.statistics.exec_max : 11.469385
se.statistics.slice_max : 8.928923
se.statistics.wait_max : 17.931385
se.statistics.wait_sum : 1652.526643
se.statistics.wait_count : 23555
se.statistics.iowait_sum : 56.968156
se.statistics.iowait_count : 188
se.statistics.nr_migrations_cold : 0
se.statistics.nr_failed_migrations_affine : 0
se.statistics.nr_failed_migrations_running : 8046
se.statistics.nr_failed_migrations_hot : 126
se.statistics.nr_forced_migrations : 34
se.statistics.nr_wakeups : 21137
se.statistics.nr_wakeups_sync : 2079
se.statistics.nr_wakeups_migrate : 14333
se.statistics.nr_wakeups_local : 1469
se.statistics.nr_wakeups_remote : 19668
se.statistics.nr_wakeups_affine : 1669
se.statistics.nr_wakeups_affine_attempts : 4409
se.statistics.nr_wakeups_passive : 0
se.statistics.nr_wakeups_idle : 0
avg_atom : 1.126811
avg_per_cpu : 1.930428
nr_switches : 26508
nr_voluntary_switches : 23076
nr_involuntary_switches : 3432
se.load.weight : 1048576
se.avg.load_sum : 294
se.avg.runnable_sum : 301472
se.avg.util_sum : 301472
se.avg.load_avg : 8
se.avg.runnable_avg : 8
se.avg.util_avg : 8
se.avg.last_update_time : 832949137913856
se.avg.util_est.ewma : 80
se.avg.util_est.enqueued : 80
uclamp.min : 0
uclamp.max : 1024
effective uclamp.min : 0
effective uclamp.max : 1024
policy : 0
prio : 120
clock-delta : 77
1. /proc/[PID]/maps文件
在Unix中,所有内容都是一个文件,即使它不是真正的文件,也像对待文件一样进行处理和访问。这包括内核的数据结构,Linux也不例外。Linux内核允许我们通过/proc/伪文件系统访问和读取其数据结构。然后,每个进程在/proc/[PID]中都有自己的文件夹。这里的文件和子文件夹包含有关该过程的许多有用和重要的信息,但是今天我们将仅关注一个文件:/proc/[PID]/maps.
/proc/[PID]/maps显示进程的映射内存的图表。当我们说映射内存时,我们指的是与文件具有一对一对应关系的虚拟内存段。此映射使应用程序可以通过直接读写内存来修改和访问文件。这意味着当程序访问文件时,该文件最终将被记录在其/proc/[PID]/maps文件中.
/proc/[PID]/maps还向我们显示了该过程对每个段具有哪些权限,这可以帮助我们确定流程编辑了哪些文件以及读取了哪些文件。这是普通/proc/PID/maps文件的一小段显示:
7d13be7000-7d13c07000 rw-s 00000000 00:10 291 /dev/__properties__/u:object_r:system_mtk_app32_boost_prop:s0
(1) 地址-第一列显示该段的开始和结束地址。7d13be7000-7d13c07000
(2) 权限–此列显示该流程对细分受众群拥有的权限。r/w/x是通常的读/写/执行,而最后一个字母是s或p,分别表示共享或私有。 rw-s
(3) 偏移量–这是自文件开头的偏移量,以便能够计算映射数据的起始地址。有时,段不是从文件映射的(在这种情况下,path列将具有该段性质的标识符,如下所述),在这种情况下,偏移量仅保留为0。 00000000
(4) 设备–从文件映射段时,此列中将显示存储文件的设备的十六进制数。00:10
(5) 索引节点(索引节点) –如果段来自文件,则这是文件的索引节点号。291
(6) 路径–这是文件的路径(如果有)。如果段是同义结构,则可以是[heap],[stack]或[vsdo]。/dev/__properties__/u:object_r:system_mtk_app32_boost_prop:s0
(2)/proc/[PID]/sched:
显示与相关调度实体有关的信息。在读取这个文件时,将调用 kernel-5.10/kernel/sched/debug.c 中定义的 proc_sched_show_task() 函数.
/proc/
/sched $cat /proc/28733/sched
cpu_test (28733, #threads: 1)
---------------------------------------------------------
se.exec_start : 833409303.923943 //此进程最近被调度到的开始执行时刻(这个值是每次update_curr都进行更新)
se.vruntime : 31744541.336752 //虚拟运行时间
se.sum_exec_runtime: 29869.525946 //累计运行的物理时间时间
se.statistics.wait_start : 0.000000 //最近一次当前进程被入队的时刻
se.statistics.sleep_start : 834009877.397613 //此进程最近一次被从队列里取出,并被置S状态的时刻
se.statistics.block_start : 0.000000 //此进程最近一次被从队列里取出,并被置D状态的时刻
se.statistics.sleep_max : 91757.569295 //最长处于S状态时间
se.statistics.block_max : 692.283232 //最长处于D状态时间
se.statistics.exec_max : 11.469385 //最长单次执行时间
se.statistics.slice_max : 8.928923 //曾经获得时间片的最长时间
se.statistics.wait_max : 17.931385 //最长在就绪队列里的等待时间
se.statistics.wait_sum : 1652.526643 //累计在就绪队列里的等待时间
se.statistics.wait_count : 3147 //累计等待次数
se.iowait_sum : 56.968156 //io等待时间
se.statistics.iowait_count : 67 //io等待次数 io_schedule调用次数
sched_info.bkl_count: 0 //此进程大内核锁调用次数
se.nr_migrations : 0 //需要迁移当前进程到其他cpu时累加此字段
se.statistics.nr_migrations_cold: 0
se.statistics.nr_failed_migrations_affine: 194 //进程设置了cpu亲和,进程迁移时检查失败的次数
se.statistics.nr_failed_migrations_running: 8046
se.statistics.nr_failed_migrations_hot: 0 //当前进程因为是cache hot导致迁移失败的次数
se.statistics.nr_forced_migrations : 0 //在当前进程cache hot下,由于负载均衡尝试多次失败,强行进行迁移的次数
se.statistics.nr_wakeups : 21137 //被唤醒的累计次数(从不可运行到可运行)
se.statistics.nr_wakeups_sync : 2079 //同步唤醒次数,即a唤醒b,a立刻睡眠,b被唤醒的次数
se.statistics.nr_wakeups_migrate : 14333 //被唤醒得到调度的当前cpu,不是之前睡眠的cpu的次数
se.statistics.nr_wakeups_local : 1469 //被本地唤醒的次数(唤醒后在当前cpu上执行)
se.statistics.nr_wakeups_remote : 19668 //非本地唤醒累计次数
se.statistics.nr_wakeups_affine : 1669 //考虑了任务的cache亲和性的唤醒次数
se.statistics.nr_wakeups_affine_attempts: 4409
se.statistics.nr_wakeups_passive : 0
se.statistics.nr_wakeups_idle : 0
avg_atom : 1.126811 //本进程平均耗时sum_exec_runtime/ nr_switches
avg_per_cpu : 1.930428
nr_switches : 26508 //主动切换和被动切换的累计次数
nr_voluntary_switches : 23076 //主动切换次数(由于prev->state为不可运行状态引起的切换)
nr_involuntary_switches : 3432 //被动切换次数
se.load.weight : 1048576 //该se的load
policy : 0 //调度策略 normal
prio : 120 //优先级(nice=0)
clock-delta : 77
(3)/proc/
$cat /proc/28733/schedstat
33248536857 1897887092 29463
First: time spent on the cpu, task->se.sum_exec_runtime,这个值与上面的se.sum_exec_runtime一样只是上面的除于1,000,000
Second:time spent waiting on a runqueue,这个值与上面的se.wait_sum一样
Third: of times run on this cpu, task->sched_info.pcount,这个值跟上面的se->nr_switches一样
该信息的入口在fs/proc/base.c的proc_pid_schedstat函数里
(4)/proc/
在内核中,该文件的内容由do_task_stat函数(fs/proc/array.c)写。主要操作是
1 (init) S 0 0 0 0 -1 1077936384 29364 120697659 760 2069 2467 5378 135714 180528 20 0 4 0 1 11249537024 1816 18446744073709551615 366896521216 366898028208 549396430032 0 0 0 65536 0 1073779960 0 0 0 17 2 0 0 20 0 0 366898052008 366898052480 367917428736 549396430530 549396430560 549396430560 549396430823 0
seq_printf(m, "%d (%s) %c %d %d%d %d %d %u %lu \%lu %lu %lu %lu %lu %ld %ld %ld %ld %d 0 %llu %lu %ld %lu %lu %lu %lu %lu \
%lu %lu %lu %lu %lu %lu%lu %lu %d %d %u %u %llu %lu %ld\n",
1 .pid_nr_ns(pid, ns), //pid
2 .tcomm, //进程名
3 .state, //进程状态
4 .ppid, //父进程号
5 .pgid, //线程组ID
6 .sid, //会话组ID
7 .tty_nr, //该进程的tty终端的设备号,INT(34817/256)=主设备号,(34817-主设备号)=次设备号
8 .tty_pgrp, //终端的进程组号,当前运行在该进程所在终端的前台进程(包括shell应用程序)的PID
9 .task->flags, //进程标志位,查看该进程的特性(定义在/include/kernel/sched.h中)
10.min_flt, //累计进程的次缺页数(Copy on Write页和匿名页)
11.cmin_flt, //该进程所有的子进程发生的次缺页的次数
12.maj_flt, //主缺页数(从映射文件或交换设备读入的页面数)
13.cmaj_flt, //该进程所有的子进程发生的主缺页的次数
14.cputime_to_clock_t(utime), //该进程在用户态运行的时间,单位为jiffies
15.cputime_to_clock_t(stime), //该进程在核心态运行的时间,单位为jiffies
16.cputime_to_clock_t(cutime), //该进程所有的子进程在用户态运行的时间总和,单位为jiffies
17.cputime_to_clock_t(cstime), //该进程所有的子进程在内核态运行的时间的总和,单位为jiffies
18.priority, //进程的优先级
19.nice, //进程的静态优先级
20.num_threads, //该进程所在的线程组里线程的个数
21.//0
22.start_time, //该进程创建的时间
23.vsize, //该进程的虚拟地址空间大小
24.mm ? get_mm_rss(mm) : 0, //该进程当前驻留物理地址空间的大小
25.rsslim, //该进程能驻留物理地址空间的最大值
26.mm ? (permitted ? mm->start_code : 1) : 0, //该进程在虚拟地址空间的代码段的起始地址
27.mm ? (permitted ? mm->end_code : 1) : 0, //该进程在虚拟地址空间的代码段的结束地址
28.(permitted && mm) ? mm->start_stack : 0, //该进程在虚拟地址空间的栈的结束地址
29.esp, //esp(32 位堆栈指针) 的当前值,与在进程的内核堆栈页得到的一致
30.eip, //指向将要执行的指令的指针, EIP(32位指令指针)的当前值
31.task->pending.signal.sig[0] & 0x7fffffffUL, //待处理信号的位图,记录发送给进程的普通信号
32.task->blocked.sig[0] & 0x7fffffffUL, //阻塞信号的位图
33.sigign .sig[0] & 0x7fffffffUL, //忽略的信号的位图
34.sigcatch .sig[0] & 0x7fffffffUL, //被捕捉的信号的位图
35.wchan, //如果该进程是睡眠状态,该值给出调度的调用点
36.0UL,
37.0UL,
38.task->exit_signal, //该进程结束时,向父进程所发送的信号
39.task_cpu(task), //运行在哪个CPU上
40.task->rt_priority, //实时进程的相对优先级别
41.task->policy, //进程的调度策略
42.(unsigned long long)delayacct_blkio_ticks(task),
43.cputime_to_clock_t(gtime),
44.cputime_to_clock_t(cgtime));
注:这个输出的中间自动填充了个0,在22 start_time前。