[Linux] [C / C ++] Zusammenfassung, wie man pid, ppid, tid bekommt

Selbst wenn Sie unter Linux suchen, ist nur die Methode in Bash verfügbar, daher eine Zusammenfassung der Methode in C / C ++

API zu verwenden

pid => getpid() Man page of GETPID

ppid => getppid() Man page of GETPID

tid => syscall(SYS_getid) Man page of GETTID

Implementierungsbeispiel

test.cpp


#include <iostream>
#include <future>

#include <unistd.h>
#include <sys/types.h>
#include <sys/syscall.h>

pid_t gettid(void) {
	return syscall(SYS_gettid);
}

int main() {
	std::cout << "[0] pid  : " << getpid()  << std::endl;
	std::cout << "[0] ppid : " << getppid() << std::endl;
	std::cout << "[0] tid  : " << gettid()  << std::endl;

	auto func = [] {
		std::cout << "[1] pid  : " << getpid()  << std::endl;
		std::cout << "[1] ppid : " << getppid() << std::endl;
		std::cout << "[1] tid  : " << gettid()  << std::endl;
	};

	auto th = std::thread(func);
	th.join();

	return 0;
}

Ausführungsergebnis


$ g++ -pthread -std=gnu++11 test.cpp && ./a.out
[0] pid  : 13762
[0] ppid : 9459
[0] tid  : 13762
[1] pid  : 13762
[1] ppid : 9459
[1] tid  : 13763

Beziehung

[Linux] [C / C ++] Get tid (Thread-ID) / Wrap pthread_create, um tid des untergeordneten Threads zu erhalten --Qiita

Recommended Posts

[Linux] [C / C ++] Zusammenfassung, wie man pid, ppid, tid bekommt
[Linux] [C / C ++] Get tid (Thread-ID) / Wrap pthread_create, um tid des untergeordneten Threads abzurufen
Zusammenfassung der Verwendung von pandas.DataFrame.loc
Zusammenfassung der Verwendung von pyenv-virtualenv
Zusammenfassung der Verwendung von csvkit
[Linux] [C / C ++] So ermitteln Sie den Wert der Rücksprungadresse einer Funktion und den Funktionsnamen des Aufrufers
Ich habe versucht, das Entwicklungsstartverfahren von Django kurz zusammenzufassen
[Python] Zusammenfassung der Verwendung von Pandas
Wie man lange Einschlüsse loswird
[Python2.7] Zusammenfassung der Verwendung von unittest
Zusammenfassung der Verwendung der Python-Liste
[Python2.7] Zusammenfassung der Verwendung des Unterprozesses
Zusammenfassung des Schreibens von AWS Lambda
Zusammenfassung zum Importieren von Dateien in Python 3
Zusammenfassung der Verwendung von MNIST mit Python
So erhalten Sie Elemente vom Typ Wörterbuch von Python 2.7
So ermitteln Sie die Anzahl der Stellen in Python
Verwendung von C216 Audio Controller unter Arch Linux
[C-Sprache] [Linux] Ruft den Wert der Umgebungsvariablen ab
[Python] Zusammenfassung, wie die Farbe der Figur angegeben wird
Zusammenfassung, wie der Status mit mehreren Funktionen geteilt wird
So beschränken Sie die API, die in der gemeinsam genutzten Linux-Bibliothek in C-Sprache veröffentlicht werden soll
linux / c> link> Ruft das Ausführungsergebnis des Shell-Befehls im C-Programm ab.> Mir wurde beigebracht, wie man popen () verwendet.
So entfernen Sie benutzerdefinierte Serverpiktogramme in message.content
[Python] Zusammenfassung zum Abrufen von Listen und Wörterbuchelementen
Zusammenfassung der Linux-Verteilungstypen
[Python] Zusammenfassung der Verwendung von Split- und Join-Funktionen
So erhalten Sie den Anweisungszeiger (= Programmzähler) im Linux-Kernel
So erhalten Sie eine Liste der integrierten Ausnahmen für Python
Zusammenfassung zum Schreiben von in gRPC verwendeten .proto-Dateien
Eine kurze Zusammenfassung von Linux
So erhalten Sie einen Überblick über Ihre Daten in Pandas
So erhalten Sie eine Liste mit Links von einer Seite aus Wikipedia
[Linux] Deaktivieren der automatischen Aktualisierung der Datei /etc/resolv.conf (Redhat)
So zeigen Sie eine bestimmte Dateispalte unter Linux an (awk)
[Hugo] Zusammenfassung zum Hinzufügen von Seiten zu der mit Learn erstellten Site
So erhalten Sie die ID von Type2Tag NXP NTAG213 mit nfcpy
So bringen Sie den Druckertreiber für Oki Mac in Linux
[Python] Wie man den Bruchteil einer natürlichen Zahl mit hoher Geschwindigkeit erhält
[Python] So erhalten Sie den ersten und den letzten Tag des Monats
[Linux] Deaktivieren der automatischen Aktualisierung der Datei /etc/resolv.conf (AmazonLinux2)
So erhalten Sie den gesamten Datenverkehr über VPN mit OpenVPN unter Linux
So geben Sie das Ausgabeergebnis des Linux-Befehls man in eine Datei aus
So ermitteln Sie die Scheitelpunktkoordinaten eines Features in ArcPy
Zusammenfassung der Backtrace-Erfassungsmethode für [Linux] [C / C ++]
So installieren Sie VMware-Tools unter Linux
So erhalten Sie die Python-Version
So installieren Sie MBDyn (Linux Ubuntu)
Wie fange ich mit Scrapy an?
Erste Schritte mit Python
Wie fange ich mit Django an?
So verpacken Sie C in Python
So erstellen Sie den MongoDB C-Sprachtreiber
So überprüfen Sie die Linux-Betriebssystemversion
Zusammenfassung des Schreibens von if-Anweisungen (Scala, Java, Rust, C-Sprache, C ++, Go-Sprache, PHP, Perl, Python, Ruby)
Zusammenfassung zum Schreiben von Inkrementdekrementen (Scala, Java, Rust, C-Sprache, C ++, Go-Sprache, PHP, Perl, Python, Ruby, JavaScript)
[Linux] Ein Befehl zum Abrufen einer Liste der in der Vergangenheit ausgeführten Befehle