GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Der maximale Wert der Prozess-ID?

Was ist der maximale Wert der Prozess-ID?

Ist es auch möglich, eine Prozess-ID zu ändern?

Akzeptierte Antwort:

Unter Linux finden Sie den maximalen PID-Wert für Ihr System hiermit:

$ cat /proc/sys/kernel/pid_max

Dieser Wert kann auch mit derselben Datei geschrieben werden, jedoch kann der Wert nur bis zu einem theoretischen Maximum von 32768 für 32-Bit-Systeme oder 4194304 für 64-Bit-Systeme erweitert werden:

$ echo 32768 > /proc/sys/kernel/pid_max

Es scheint auf den meisten 64-Bit-Systemen normative Praxis zu sein, diesen Wert auf den gleichen Wert zu setzen wie auf 32-Bit-Systemen, aber dies ist eher eine Konvention als eine Anforderung.

Von man 5 proc :

/proc/sys/kernel/pid_max  
  This file (new in Linux 2.5) specifies the value at which PIDs wrap around
  (i.e., the value in this file is one greater than the maximum PID). The
  default value for this file, 32768, results in the same range of PIDs as
  on earlier kernels. On 32-bit platfroms, 32768 is the maximum value for
  pid_max. On 64-bit systems, pid_max can be set to any value up to 2^22
  (PID_MAX_LIMIT, approximately 4 million).

Und nein, Sie können die PID eines laufenden Prozesses nicht ändern. Es wird vom Kernel beim Start des Prozesses als fortlaufende Nummer zugewiesen und ist von diesem Zeitpunkt an seine Kennung. Das Einzige, was Sie tun könnten, um einen neuen zu erhalten, ist, Ihren Code in einen neuen Prozess zu verzweigen und den alten zu beenden.


Linux
  1. Finden Sie die Ausführungszeit eines Befehls oder Prozesses in Linux

  2. Neuer übergeordneter Prozess, wenn der übergeordnete Prozess stirbt?

  3. Warum ist der Standardprozesserstellungsmechanismus Fork?

  4. Was bedeutet in der Ausgabe von Ps?

  5. Der tragbare (posix) Weg zur Prozesssubstitution?

So ändern Sie die Priorität eines Prozesses in Linux

Container von Hand bauen:Der PID-Namespace

SIGTERM vs. SIGKILL:Was ist der Unterschied?

So senden Sie Prozesse unter Linux an den Hintergrund

Was ist die Definition einer Sitzung unter Linux?

Was ist die maximale Portnummer?