pr_ids("parent"); if ((pid = fork()) < 0) { exit(1); } else if (pid > 0) { /* parent */ sleep(5); /* sleep to let child stop itself */ } else { /* child */ pr_ids("child"); signal(SIGHUP, sig_hup); /* establish signal handler */ printf("test\n"); kill(getpid(), SIGTSTP); /* stop ourself */ pr_ids("child"); /* prints only if we're continued */ if (read(STDIN_FILENO, &c, 1) != 1) printf("read error %d on controlling TTY\n", errno); } exit(0); } < /code> Die Idee ist, dass: < /p>
Wir erstellen untergeordneten Prozess < /li> Es hat einen Handler für Seufzer < /li> Wir stoppen das Kind mit SIGTSTP < /li> tector. />PoSix.1 erfordert, dass die gestoppte verarbeitete Seufzer (die wir handhaben) gesendet werden sollten (die wir handhaben), gefolgt von Sigcont < /li> Dies sollte den Seufzhandler des Kindes ausführen und fortfahren. Process < /li> < /ul> Wenn Sie dieses Programm aus der Hülle ausführen.$ ./a.out parent: pid = 6099, ppid = 2837, pgrp = 6099, tpgrp = 6099 child: pid = 6100, ppid = 6099, pgrp = 6099, tpgrp = 6099 $ SIGHUP received, pid = 6100 child: pid = 6100, ppid = 1, pgrp = 6099, tpgrp = 2837 read error 5 on controlling TTY < /code> Meine Ergebnisse sind jedoch: < /p>
Oder Seufzer wurde empfangen, aber das Kind hat es nicht gedruckt, es ist PID -Ausgabe (so dass es nicht richtig weiterging) < /li> < /ul> $ ./a.out parent: pid = 295709, ppid = 291330, pgrp = 295709, tpgrp = 295709 child: pid = 295710, ppid = 295709, pgrp = 295709, tpgrp = 295709 SIGHUP received, pid = 295710 < /code>
Oder Kind hat es nach Sigcont ausgedruckt, aber ich habe keinen Fehler bei Ty$ ./a.out parent: pid = 294722, ppid = 291330, pgrp = 294722, tpgrp = 294722 child: pid = 294723, ppid = 294722, pgrp = 294722, tpgrp = 294722 SIGHUP received, pid = 294723 child: pid = 294723, ppid = 2065, pgrp = 294722, tpgrp = 294722 [/code] Ich möchte eine Vorstellung davon bekommen, warum zwischen den Ergebnissen eine solche Varianz besteht.
Ich erstelle eine PYQT6 -Anwendung, die eine Sequenz im Hintergrund ausführen kann. Die Sequenz ist eine Unterklasse von QObject mit einer Run () -Methode, die von einem QThread aufgerufen wird. Hier...
Ich verwende Sourcery in meinem iOS-Projekt, um Mocks für ein Protokoll zu generieren, das einem anderen Protokoll mit zugehörigen Typen entspricht. Trotz konsistenter Eingabe ist die generierte...
Ich verwende Sourcery in meinem iOS-Projekt, um Mocks für ein Protokoll zu generieren, das einem anderen Protokoll mit zugehörigen Typen entspricht. Trotz konsistenter Eingabe ist die generierte...
Mir ist ein Problem mit der Einfügung des oberen sicheren Bereichs bei einem iPhone mit iOS 26 im Querformat aufgefallen. Konkret wird es mit der folgenden Konfiguration angezeigt:
Ich erstelle eine Azure Retrieval-Augmented Generation (RAG)-Anwendung mit Azure Cognitive Search, um in JSON-Dateien gespeicherte Daten zu Auszubildenden zu verarbeiten. Hier ist der allgemeine...