Je vous serais reconnaissant si vous pouviez lire les détails dans Lire tout le contenu de proc / [pid].
# 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
C'était un fichier vide à l'exception de "current" et "prev". Après examen, ces fichiers semblent être référencés par la fonctionnalité SELinux. Sous Linux, vous pouvez gérer les autorisations de lecture, d'écriture et d'exécution pour les fichiers et les répertoires avec une fonction appelée permissions, et une extension de celle-ci est une fonction appelée SELinux. Il semble qu'il soit géré par la valeur du contexte SELinux au lieu de la permission.
Il semble que "current" décrit le contexte SELinux de ce processus lui-même, et "prev" décrit le contexte SELinux du dernier processus exécuté. (Ce n'est pas bien compris)
Le contexte SELinux défini dans le fichier créé par ce processus semble être écrit en ʻexec, Cette fois,
/ proc / 3792 / exec` est un fichier vide, il semble donc être créé avec la valeur par défaut.
Vous pouvez vérifier la valeur par défaut ici.
# 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 *
J'étudierai SELinux à l'avenir.
autogroup
# cat autogroup
/autogroup-401 nice 0
Il semble que la valeur utilisée par la CPU pour la planification soit décrite.
auxv
# ll | grep auxv
-r--------. 1 root root 0 Jan 12 05:09 auxv
# cat auxv
! Temple
d@@Awa d
捐 boeuf ゚ classe P sucer
# 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
....
Contient les informations d'interprétation ELF transmises au processus au moment de l'exécution. http://surf.ml.seikei.ac.jp/~nakano/JMwww/html/LDP_man-pages/man5/proc.5.html
Et cela. Il semble que auxv soit un vecteur auxiliaire.
J'ai essayé ʻodet
hexdump, mais je ne pouvais pas le comprendre à cause de l'énumération des nombres. Même si vous appuyez sur
file aux v, il sera affiché comme
./auxv: empty`, probablement parce que c'est un fichier spécial.
Il semble que le but est de lire une fonction.
Il semble que le fichier exécutable ait un format appelé ELF. Il semble que les informations d'en-tête soient décrites. Je ne savais pas comment réparer les caractères déformés.
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
est une fonction qui vous permet de définir des limites sur les processus. Il semble que vous puissiez définir en détail le taux d'utilisation du processeur et la limite supérieure de la mémoire. Compatibilité ascendante avec autogroupe.
De gauche à droite: numéro d'identification de la hiérarchie: ensemble de sous-systèmes associés à la hiérarchie: groupe de contrôle dans la hiérarchie auquel appartient le processus
C'est vrai. Etude requise.
clear_refs
# cat clear_refs
cat: clear_refs: Invalid argument
Je me suis mis en colère quand j'ai cédé
# ll clear_refs
--w-------. 1 root root 0 Jan 11 06:40 clear_refs
Je n'avais que l'autorisation d'écriture avec les privilèges root.
Je l'ai ouvert avec vi clear_refs
, mais c'était un fichier vide.
Se référer à lors de la mesure de la mémoire? Il semble. Je n'ai pas trop compris.
Si les permissions sont uniquement pour l'écriture, comme -w -------, Il est destiné à faire quelque chose en écrivant des données dans ce fichier.
J'ai reçu un commentaire. Il semble que certaines opérations soient effectuées via ce fichier. Je veux pouvoir lire le code source du noyau «CentOS». cmdline
# cat cmdline
sleep365d
# tr \\0 _ < cmdline
sleep_365d_
La commande exécutée au démarrage du processus. Il semble que les arguments (tels que ls -l) soient également affichés. Le délimiteur était \ 0 (NULL).
comm
# cat comm
sleep
Le nom de la commande affiché par ps -c
.
coredump_filter
# cat coredump_filter
00000033
Il semble que ce soit un paramètre de filtre de bits de l'erreur qui est émis lorsque le processus se termine anormalement. Je ne sais pas quel masque chaque 00000033 est.
spuset
# cat cpuset
/
Il semble être référencé par cgroup. J'ai beaucoup cherché, mais je suis désolé.
Il y avait trop de choses que je ne comprenais pas. Je suis inquiet si l'article que je tweet est significatif si je ne le comprends pas. En premier lieu, il y avait de nombreux contenus tels que "Cet élément est-il utilisé maintenant ...?", Donc je ne pouvais pas le distinguer. Je veux vraiment maintenir le groupe de contrôle.
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