[LINUX] Lire tout le contenu de proc / [pid]

en premier

Je ne suis pas confiant, alors je vous serais reconnaissant de bien vouloir faire part de vos commentaires.

environnement

Contexte

Je ne sais pas grand chose sur le processus, donc si vous ouvrez tous les fichiers sous le processus pour le moment J'ai pensé que je pouvais me rapprocher, alors j'ai essayé.

Vérifiez l'environnement

Je me suis connecté au serveur configuré par GCP et je me suis connecté en tant que root. Vérifiez la version de CentOS pour le moment.

# cat /etc/redhat-release
CentOS Linux release 7.7.1908 (Core)

Contenu du répertoire / proc courant (-v est une option de tri)

# ls /proc/ -v
1   20  98   182  835   2198       diskstats    kpagecount    self
2   21  140  243  852   3082       dma          kpageflags    slabinfo
4   22  142  276  853   3250       driver       loadavg       softirqs
6   23  143  282  854   3254       execdomains  locks         stat
7   24  147  333  949   3389       fb           mdstat        swaps
8   30  171  376  950   3475       filesystems  meminfo       sys
9   31  172  378  951   3494       fs           misc          sysrq-trigger
10  32  173  379  955   acpi       interrupts   modules       sysvipc
11  33  174  384  965   buddyinfo  iomem        mounts        timer_list
13  41  175  398  969   bus        ioports      mtrr          timer_stats
14  42  176  427  970   cgroups    irq          net           tty
15  43  177  431  1160  cmdline    kallsyms     pagetypeinfo  uptime
16  44  178  434  1162  consoles   kcore        partitions    version
17  45  179  435  2128  cpuinfo    keys         schedstat     vmallocinfo
18  47  180  459  2131  crypto     key-users    sched_debug   vmstat
19  60  181  612  2132  devices    kmsg         scsi          zoneinfo

Il existe de nombreuses lignes. Chaque répertoire de numéros semble contenir des informations sur le processus en cours. (Par exemple, des informations sur les processus avec PID 1 dans le répertoire "1") Je pense que les autres répertoires contiennent des informations partagées par l'ensemble du processus. Vous pouvez vérifier les informations du processeur et de la mémoire avec cpuinfo et meminfo. J'ai également ouvert la liste des processus en cours

# ps ax
  PID TTY      STAT   TIME COMMAND
    1 ?        Ss     0:06 /usr/lib/systemd/systemd --switched-root --system --dese
    2 ?        S      0:00 [kthreadd]
    4 ?        S<     0:00 [kworker/0:0H]
    6 ?        S      0:00 [ksoftirqd/0]
    7 ?        S      0:00 [migration/0]
    8 ?        S      0:00 [rcu_bh]
    9 ?        R      0:01 [rcu_sched]
   10 ?        S<     0:00 [lru-add-drain]
   11 ?        S      0:01 [watchdog/0]
   13 ?        S      0:00 [kdevtmpfs]
   14 ?        S<     0:00 [netns]
   15 ?        S      0:00 [khungtaskd]
    ...

Il y avait quelques différences, mais il y avait autant de processus en cours d'exécution que d'ID de processus ci-dessus. C'est tout pour confirmation, mais j'aimerais d'abord ajouter un processus d'exécution et vérifier les informations de ce processus.

Exécutez un processus qui ne fait rien

# sleep 365d > /dev/null &
[1] 3792

Le processus d'attente de 365 jours en arrière-plan. [Référence] http://www.usupi.org/sysad/024.html Est-ce que cela a du sens de cracher dans / dev / null? Sleep 365d et crache-t-il juste un journal quelque part? Où est-ce? En dehors de cela, il a répondu avec 3792, donc cette fois, il semble que l'ID de processus a été créé avec 3792. Vérifions avec la commande ps.

# ps aux | grep 3792
root      3792  0.0  0.0 107956   352 pts/0    S    06:28   0:00 sleep 365d
root      3881  0.0  0.1 112712   960 pts/0    S+   06:37   0:00 grep --color=auto 3792

Il court. Il y a deux raisons parce que la commande grep 3792 actuellement recherchée correspond également. Jetons maintenant un œil au répertoire de ce processus.

ls /proc/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

Étant donné que le volume est important et que les articles sont probablement longs, je voudrais séparer les articles en lignes. De plus, dans les articles suivants, / proc / 3792 sera le répertoire courant.

#cd /proc/3792

-Lire tout le contenu de proc / [pid] ~ de attr / à cpuset ~ -Lire tout le contenu de proc / [pid] ~ de cwd à loginuid ~ -Lire tout le contenu de proc / [pid] ~ d'attr à cpuset ~ -Lire tout le contenu de proc / [pid] ~ de oom_adj à sessionid ~ -Lire tout le contenu de proc / [pid] ~ de setgroups à wchan ~

Recommended Posts

Lire tout le contenu de proc / [pid]
Lire tout le contenu de proc / [pid] ~ De cwd à loginuid ~
Lire tout le contenu de proc / [pid] ~ De map_files à numa_maps ~
Lire tout le contenu de proc / [pid] ~ De oom_adj à sessionid ~
Lire tout le contenu de proc / [pid] ~ De attr à cpuset ~
Modèle de script python pour lire le contenu du fichier
Lisez également le contenu de arch / arm / kernel / swp_emulate.c
Simulation du contenu du portefeuille
Comprendre le contenu du pipeline sklearn
Voir le contenu de Kumantic Segumantion
J'ai vérifié le contenu du volume du docker
Lire tous les fichiers csv dans le dossier
Lire l'implémentation de la minuterie globale ARM
Récupérer le contenu de git diff depuis python
[Python] Lire le code source de Bottle Part 2
[python] Vérifier les éléments de la liste tous, tous
J'ai lu l'implémentation de range (Objects / rangeobject.c)
Le contenu du didacticiel Python (chapitre 5) est résumé dans une puce.
Le contenu du didacticiel Python (chapitre 4) est résumé dans une puce.
Le contenu du didacticiel Python (chapitre 2) est résumé dans une puce.
Le contenu du didacticiel Python (chapitre 8) est résumé dans une puce.
Le contenu du didacticiel Python (chapitre 1) est résumé dans une puce.
[Bash] Passez le contenu du fichier aux variables pour chaque colonne avec while read
Lire la sortie du sous-processus, ouvrir en temps réel
[Python] Lire le code source de Bottle Part 1
À propos du contenu de développement de l'apprentissage automatique (exemple)
Vider le contenu de la base de données redis avec lua
Le contenu du didacticiel Python (chapitre 6) est résumé dans une puce.
J'ai lu et implémenté les variantes de UKR
Le contenu du didacticiel Python (chapitre 3) est résumé dans une puce.
Contenu de __name__
Essayez d'obtenir le contenu de Word avec Golang
Lisez la puissance du compteur intelligent avec M5StickC (édition BP35C0-J11-T01)
[Python] Affiche toutes les combinaisons d'éléments de la liste
[Maya Python] Écraser le contenu du script 2 ~ list Notes
[Python] Obtenez le nombre de vues de tous les articles publiés
J'ai recherché le contenu de l'agent CloudWatch Logs
Le début de cif2cell
À propos de tout numpy
Le sens de soi
Obtention du contenu de sosreport
Lire la documentation OpenCV
le zen de Python
L'histoire de sys.path.append ()
La vengeance des types: la vengeance des types
[Ubuntu] Comment supprimer tout le contenu du répertoire
Django renvoie le contenu du fichier sous forme de réponse HTTP
[Maya Python] Écraser le contenu du script 3 ~ Liste des plugins inconnus
[Maya Python] Écraser le contenu du script 1 ~ Camera Speed Editor
Lire le fichier GRIB2 de l'Agence météorologique sur pygrib
Paramètres pour entrer et déboguer le contenu de la bibliothèque avec VS Code
Afficher le contenu de la file d'attente à l'aide de l'API Web de gestion RabbitMQ
Comment voir le contenu du fichier ipynb du notebook Jupyter
Obtenir toutes les adresses IP des instances du groupe d'autoscaling
Après tout, l'histoire du retour de Linux à Windows
Script Python qui compare le contenu de deux répertoires
Comment connecter le contenu de la liste dans une chaîne de caractères
Le résultat de l'analyse de la "critique du jugement" de Kant que je n'ai pas lu du tout était intéressant