Ich würde mich freuen, wenn Sie die Details unter Lesen Sie den gesamten Inhalt von proc / [pid] lesen könnten.
# 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
attr/
# ls attr/
current exec fscreate keycreate prev sockcreate
# cat current
unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
# cat prev
unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
Es war eine leere Datei mit Ausnahme von "current" und "prev". Bei der Prüfung scheinen diese Dateien von der SELinux-Funktion referenziert zu werden. Unter Linux können Sie Lese-, Schreib- und Ausführungsberechtigungen für Dateien und Verzeichnisse mit einer Funktion namens Berechtigungen verwalten. Eine Erweiterung davon ist eine Funktion namens SELinux. Es scheint, dass es durch den Wert des SELinux-Kontexts anstelle der Berechtigung verwaltet wird.
Es scheint, dass "current" den SELinux-Kontext dieses Prozesses selbst beschreibt und "prev" den SELinux-Kontext des zuletzt ausgeführten Prozesses beschreibt. (Es ist nicht gut verstanden)
Der in der durch diesen Prozess erstellten Datei festgelegte SELinux-Kontext scheint in exec
geschrieben zu sein.
Da / proc / 3792 / exec
diesmal eine leere Datei ist, scheint sie mit dem Standardwert erstellt zu sein.
Hier können Sie den Standardwert überprüfen.
# semanage login -l
Login Name SELinux User MLS/MCS Range Service
__default__ unconfined_u s0-s0:c0.c1023 *
root unconfined_u s0-s0:c0.c1023 *
system_u system_u s0-s0:c0.c1023 *
Ich werde in Zukunft SELinux studieren.
autogroup
# cat autogroup
/autogroup-401 nice 0
Es scheint, dass der von der CPU für die Planung verwendete Wert beschrieben wird.
auxv
# ll | grep auxv
-r--------. 1 root root 0 Jan 12 05:09 auxv
# cat auxv
! Tempel
d@@Awa d
Rindfleisch ゚ Klasse P Saugen
# od -x auxv
0000000 0021 0000 0000 0000 0000 9fbb 7fff 0000
0000020 0010 0000 0000 0000 fbff 1f8b 0000 0000
0000040 0006 0000 0000 0000 1000 0000 0000 0000
0000060 0011 0000 0000 0000 0064 0000 0000 0000
0000100 0003 0000 0000 0000 0040 0040 0000 0000
0000120 0004 0000 0000 0000 0038 0000 0000 0000
....
Enthält Informationen zum ELF-Interpreter, die zur Laufzeit an den Prozess übergeben werden. http://surf.ml.seikei.ac.jp/~nakano/JMwww/html/LDP_man-pages/man5/proc.5.html
Und das. Es scheint, dass auxv ein Hilfsvektor ist. Ich habe "od" und "hexdump" ausprobiert, konnte es aber aufgrund der Aufzählung von Zahlen nicht verstehen. Selbst wenn Sie auf "Datei aux v" klicken, wird diese als "./auxv: leer" angezeigt, wahrscheinlich weil es sich um eine spezielle Datei handelt. Es scheint, dass der Zweck darin besteht, eine Funktion durchzulesen.
Es scheint, dass die ausführbare Datei ein Format namens ELF hat. Es scheint, dass die Header-Informationen beschrieben werden. Ich wusste nicht, wie ich die verstümmelten Charaktere reparieren sollte.
cgroup
# cat cgroup
11:cpuset:/
10:blkio:/
9:devices:/user.slice
8:hugetlb:/
7:net_prio,net_cls:/
6:perf_event:/
5:memory:/
4:cpuacct,cpu:/
3:pids:/
2:freezer:/
1:name=systemd:/user.slice/user-1000.slice/session-89.scope
cgroup
ist eine Funktion, mit der Sie Prozesse einschränken können. Es scheint, dass Sie die CPU-Auslastungsrate und die obere Speichergrenze im Detail festlegen können. Aufwärtskompatibel mit Autogruppe.
Von links: Hierarchie-ID-Nummer: Eine Reihe von Subsystemen, die der Hierarchie zugeordnet sind: Kontrollgruppen in der Hierarchie, zu der der Prozess gehört
Korrekt. Studium erforderlich.
clear_refs
# cat clear_refs
cat: clear_refs: Invalid argument
Ich wurde wütend, als ich cated.
# ll clear_refs
--w-------. 1 root root 0 Jan 11 06:40 clear_refs
Ich hatte nur Schreibberechtigung mit Root-Rechten. Ich habe es mit "vi clear_refs" geöffnet, aber es war eine leere Datei. Beziehen Sie sich bei der Messung des Speichers? Es scheint. Ich habe nicht zu viel verstanden.
Wenn die Berechtigungen nur zum Schreiben gelten, z. B. -w -------, Es ist beabsichtigt, etwas zu tun, indem Daten in diese Datei geschrieben werden.
Ich habe einen Kommentar erhalten. Es scheint, dass etwas durch diese Datei getan wird. Ich möchte den Quellcode des Kernels "CentOS" lesen können. cmdline
# cat cmdline
sleep365d
# tr \\0 _ < cmdline
sleep_365d_
Der Befehl, der ausgeführt wurde, als der Prozess gestartet wurde. Es scheint, dass auch Argumente (wie ls -l) angezeigt werden. Das Trennzeichen war \ 0 (NULL).
comm
# cat comm
sleep
Der von ps -c
angezeigte Befehlsname.
coredump_filter
# cat coredump_filter
00000033
Es scheint, dass es sich um eine Bitfiltereinstellung des Fehlers handelt, der ausgelöst wird, wenn der Prozess abnormal beendet wird. Ich weiß nicht, welche Maske jeder 00000033 ist.
spuset
# cat cpuset
/
Es scheint von cgroup referenziert zu werden. Ich habe viel gesucht, aber es tut mir leid.
Es gab zu viele Dinge, die ich nicht verstand. Ich mache mir Sorgen, ob der Artikel, den ich twittere, aussagekräftig ist, wenn ich ihn nicht verstehe. Erstens gab es viele Inhalte wie "Wird dieser Artikel jetzt verwendet ...?", Also konnte ich ihn nicht unterscheiden. Ich möchte auf jeden Fall die cgroup festhalten.
http://blue-9.hatenadiary.com/entry/2017/03/14/212929 http://www.usupi.org/sysad/024.html http://man7.org/linux/man-pages/man5/proc.5.html https://www.atmarkit.co.jp/flinux/rensai/watch2007/watch10a.html https://access.redhat.com/documentation/ja-jp/red_hat_enterprise_linux/6/html/resource_management_guide/sec-cpuset https://blog.goo.ne.jp/tell14/e/d03e57fbe77a73f7991da7016824cfbf http://manpages.ubuntu.com/manpages/bionic/ja/man5/proc.5.html
Recommended Posts