Ich denke, es gibt viele Fehlübersetzungen, daher wäre ich Ihnen dankbar, wenn Sie auf Bedenken hinweisen könnten.
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/include/linux/pid.h
/* SPDX-License-Identifier: GPL-2.0 */
Quellcode-Lizenz. Es steht Ihnen frei, diesen Quellcode zu ändern, zu verkaufen oder zu veröffentlichen. Machen Sie stattdessen den Quellcode auch GPL-lizenziert. Und das
#ifndef _LINUX_PID_H
#define _LINUX_PID_H
Es scheint verwendet zu werden, um festzustellen, ob der Header verwendet wird.
#include <linux/rculist.h>
#include <linux/wait.h>
#include <linux/refcount.h>
enum pid_type
{
PIDTYPE_PID,
PIDTYPE_TGID,
PIDTYPE_PGID,
PIDTYPE_SID,
PIDTYPE_MAX,
};
~~ Listen Sie die Arten von PID ~~ Listet die Objekttypen auf, die durch die PID identifiziert werden sollen.
Nicht nur der allgemeine Prozess selbst (unterschieden durch TGID), sondern auch die Prozessgruppe (PGID), die eine Masse von Prozessen darstellt Die Sitzung (SID) wird auch anhand der PID identifiziert.
Ich habe einen Kommentar erhalten. Ich werde es später verstehen.
/*
* What is struct pid?
*
* A struct pid is the kernel's internal notion of a process identifier.
* It refers to individual tasks, process groups, and sessions. While
* there are processes attached to it the struct pid lives in a hash
* table, so it and then the processes that it refers to can be found
* quickly from the numeric pid value. The attached processes may be
* quickly accessed by following pointers from struct pid.
*
...
*/
Kommentar hier. Ich werde mein Bestes tun, um es ins Japanische zu übersetzen.
Wie ist die Struktur "pid"? Die Struktur "pid" ist ein internes Konzept des Kernels, das einen Prozess identifiziert. Jedes bezieht sich auf eine einzelne Aufgabe, Prozessgruppe oder Sitzung. Die Struktur "pid" ist in der Hash-Tabelle vorhanden, während der Prozess angehängt ist, sodass Sie den Prozess schnell anhand des Werts der Struktur "pid" finden können, auf die er (Hash-Tabelle) verweist. Auf angehängte Prozesse kann schnell durch Zeiger aus der Struktur "pid" zugegriffen werden.
Ich habe versucht, alles ins Japanische zu übersetzen, aber ich habe festgestellt, dass es ineffizient ist, also habe ich aufgehört. Beginnt das Hauptthema.
struct pid
{
refcount_t count;
unsigned int level;
/* lists of tasks that use this pid */
struct hlist_head tasks[PIDTYPE_MAX];
/* wait queue for pidfd notifications */
wait_queue_head_t wait_pidfd;
struct rcu_head rcu;
struct upid numbers[1];
};
/include/linux/refcount.h
//refcount_Definition von t
typedef struct refcount_struct {
atomic_t refs;
} refcount_t;
/include/linux/list.h
//hlist_Definition des Kopfes
#define HLIST_HEAD_INIT { .first = NULL }
#define HLIST_HEAD(name) struct hlist_head name = { .first = NULL }
Ich bin völlig verirrt, also beginne ich von vorne mit dem Nachschlagewerk.