In MySQL können Sie die Funktion „pthread_kill()“ verwenden, um festzustellen, ob ein Thread vorhanden ist. Diese Funktion kann ein Signatursignal an den Thread mit einer angegebenen ID senden, um festzustellen, ob der Thread noch aktiv ist pthread_kill(pthread_t thread, int sig )".
Die Betriebsumgebung dieses Tutorials: Linux7.3-System, Dell G3-Computer.
pthread_kill:
Lassen Sie sich nicht durch den Namen einschüchtern, pthread_kill bedeutet nicht töten, sondern sendet ein Signal an den Thread. Erinnern Sie sich an das Signal? Die Standardaktion der meisten Signale besteht darin, die Ausführung des Prozesses zu beenden. Daher müssen wir signal() verwenden, um das Signal abzufangen und eine Verarbeitungsfunktion hinzuzufügen.
int pthread_kill(pthread_t thread, int sig);
Sendet das SIG-Signal an den Thread mit der angegebenen ID, wird der gesamte Prozess entsprechend dem Standardverhalten des Signals beeinflusst. Das heißt, wenn Sie SIGQUIT an einen Thread senden , aber der Thread implementiert keine Signalverarbeitungsfunktion, der gesamte Prozess wird beendet.
pthread_kill(threadid, SIGKILL) macht dasselbe und bricht den gesamten Prozess ab.
Wenn Sie das richtige Verhalten erhalten möchten, müssen Sie signal(SIGKILL, sig_handler) im Thread implementieren.
Wenn also der Parameter von int sig nicht 0 ist, müssen Sie wissen, was Sie tun möchten, und Sie müssen die Signalverarbeitungsfunktion des Threads implementieren, andernfalls wirkt sich dies auf den gesamten Prozess aus.
OK, wenn int sig 0 ist, ist dies ein reserviertes Signal und seine Funktion besteht darin, festzustellen, ob der Thread noch aktiv ist.
Werfen wir einen Blick auf den Rückgabewert von pthread_kill:
Erfolg: 0
Thread existiert nicht: ESRCH
Illegales Signal: EINVAL
Also, pthread_kill(th readid,0) ist sehr Es funktioniert.
Der obige Code kann feststellen, ob der Thread noch aktiv ist.
Verwandte Empfehlungen: „Linux-Video-Tutorial“
Das obige ist der detaillierte Inhalt vonSo ermitteln Sie, ob ein Thread unter Linux vorhanden ist. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!