Ich würde mich freuen, wenn Sie sich die Details hier ansehen könnten.
Lesen Sie den gesamten Inhalt von proc / [pid] Lesen Sie den gesamten Inhalt von proc / [pid] ~ von attr bis cpuset ~. Lesen Sie den gesamten Inhalt von proc / [pid] ~ von cwd bis loginuid ~. Lesen Sie den gesamten Inhalt von proc / [pid] ~ von oom_adj bis sessionid ~. Falsch, Sie können hier weitere Informationen finden, dieses Verzeichnis wird nicht mehr verwendet, Ich würde mich freuen, wenn Sie einen Kommentar abgeben könnten, wenn Sie Informationen haben.
# sleep 365d > /dev/null &
[1] 3792
# ls /proc/3792
attr cwd map_files oom_adj schedstat task
autogroup environ maps oom_score sessionid timers
auxv exe mem oom_score_adj setgroups uid_map
cgroup fd mountinfo pagemap smaps wchan
clear_refs fdinfo mounts patch_state stack
cmdline gid_map mountstats personality stat
comm io net projid_map statm
coredump_filter limits ns root status
cpuset loginuid numa_maps sched syscall
# cd /proc/3792
setgroups
# cat setgroups
allow
Es scheint, dass der Systemaufruf setgroups verwendet werden kann, wenn er zulässig ist. setgroups gibt eine Liste der Hilfsgruppen zurück. Was ist das? Glauben Sie, dass es eines Tages nützlich sein wird und denken Sie daran.
smaps
cat smaps
00400000-00406000 r-xp 00000000 08:01 16801948 /usr/bin/sleep
Size: 24 kB
Rss: 0 kB
Pss: 0 kB
Shared_Clean: 0 kB
Shared_Dirty: 0 kB
Private_Clean: 0 kB
Private_Dirty: 0 kB
Referenced: 0 kB
Anonymous: 0 kB
AnonHugePages: 0 kB
Swap: 0 kB
KernelPageSize: 4 kB
MMUPageSize: 4 kB
Locked: 0 kB
VmFlags: rd ex mr mp me dw sd
00606000-00607000 r--p 00006000 08:01 16801948 /usr/bin/sleep
Size: 4 kB
...
Dies scheint auch die Information des verwendeten Speichers zu sein. Die Speicherverwaltung scheint schwierig zu sein. Welches soll ich mir ansehen?
stack
# cat stack
[<ffffffffaa2cb09b>] hrtimer_nanosleep+0xbb/0x180
[<ffffffffaa2cb1f6>] SyS_nanosleep+0x96/0xb0
[<ffffffffaa98dede>] system_call_fastpath+0x25/0x2a
[<ffffffffffffffff>] 0xffffffffffffffff
Es scheint sich um die Informationen zu handeln, die im Stapel im Speicher gespeichert sind.
stat
# cat stat
3792 (sleep) S 1 3792 2132 0 -1 1077944320 284 0 0 0 0 0 0 0 20 0 1 0 31848330 110546944 65 18446744073709551615 4194304 4218500 140735872847584 140735872847112 140243604047856 0 0 0 0 18446744072269639835 0 0 17 0 0 0 0 0 0 6319400 6320704 8036352 140735872850184 140735872850195 140735872850195 140735872851949 0
statm
# cat statm
26989 65 47 6 0 78 0
Es scheint sich um Informationen über die Speichernutzung zu handeln, die Seite für Seite gemessen werden.
status
# cat status
Name: sleep
Umask: 0022
State: S (sleeping)
Tgid: 3792
Ngid: 0
Pid: 3792
PPid: 1
TracerPid: 0
Uid: 0 0 0 0
Gid: 0 0 0 0
FDSize: 256
Groups: 0
VmPeak: 107956 kB
VmSize: 107956 kB
...
Es scheint, dass Sie die grundlegenden Informationen und den Betriebsstatus des Prozesses sehen können. Wenn Sie sich so viel ansehen, können Sie sich vielleicht einen Überblick über die Situation verschaffen.
syscall
# cat syscall
35 0x7fff9fb54d10 0x0 0x0 0x7fff9fb54760 0x0 0x0 0x7fff9fb54d08 0x7f8d023387f0
Es scheint, dass die Adressen des Systemaufrufs, des Stapelzeigers, des Programmzählers usw., die ausgeführt werden, aufgelistet sind.
task
# ll task/
total 0
dr-xr-xr-x. 7 root root 0 Jan 12 04:48 3792
# ls task/3792/
attr cpuset io net patch_state setgroups uid_map
auxv cwd limits ns personality smaps wchan
cgroup environ loginuid numa_maps projid_map stack
children exe maps oom_adj root stat
clear_refs fd mem oom_score sched statm
cmdline fdinfo mountinfo oom_score_adj schedstat status
comm gid_map mounts pagemap sessionid syscall
Es gab eine ähnliche Datei im "3792" -Prozess. Es scheint die Beziehung zwischen Prozessen und Threads zu sein.
timers Es scheint, dass Sie eine Liste der Timer sehen, die dieser Prozess hat. In dieser Umgebung zeigten "Katzen-Timer" nichts.
uid_map
Dies wurde zuvor in gid_map
eingeführt, daher werde ich es weglassen.
wchan
# cat wchan
hrtimer_nanosleep
Es ist eine Abkürzung für Wait Channel. Ich wusste keine weiteren Informationen
Es war die Hölle, weil ich nur schreiben musste, wenn ich es von der Mitte aus nicht verstand. Mein Ziel war es, es vorerst aufzuschreiben, also schrieb ich es in zwei Tagen auf. Ich war zuversichtlich, dass ich es niemals anfassen würde, wenn ich es zu einem späteren Zeitpunkt drehte, also überlebte ich geduldig. Ich hoffe, weitere Informationen hinzuzufügen, sobald ich weitere Informationen verstehen kann.
https://linuxjm.osdn.jp/html/LDP_man-pages/man5/proc.5.html http://man7.org/linux/man-pages/man7/user_namespaces.7.html http://man7.org/linux/man-pages/man2/setgroups.2.html
Recommended Posts