wysyłanie sygnałów do procesu
Ostatnio zmodyfikowano 2021-01-28 18:14
danielpadewski Temat założony przez niniejszego użytkownika |
wysyłanie sygnałów do procesu » 2021-01-27 22:17:29 Witam. Potrzebuje napisac pewien program w C na UBUNTU. Z większością sie uporałem ale potrzebuję wysłać sygnał z jednego procesu do drugiego nie znając identyfikatora. W mainie powołuje 3 niezależne procesy potomne, każdy proces potomny ma swoje zadanie, kiedy wyślę sygnał do jednego procesu to automatycznie proces ten ma wysłać taki sam sygnał do reszty procesów . Niestety większość mechanizmów komunikacji między procesami odpada. Ktoś mógłby podpowiedzieć cokolwiek ? |
|
pekfos |
» 2021-01-27 22:22:17 W mainie powołuje 3 niezależne procesu potomne, każdy proces potomny ma swoje zadanie, kiedy wyślę sygnał do jednego procesu to automatycznie proces ten ma wysłać ten sam sygnał do reszty procesów ? Po co tak? Z procesu głównego możesz wysłać sygnał do wszystkich potomnych. A nawet jeśli nie, to możesz wysłać informacje potrzebne do tego by proces potomny mógł to zrobić. To wszystko w końcu Twój kod, czy nie? Niestety większość mechanizmów komunikacji między procesami odpada. Czyli co odpada? |
|
danielpadewski Temat założony przez niniejszego użytkownika |
» 2021-01-27 22:30:31 Robie projekt na zaliczenie. Musze zaimplementować "mechanizm asynchronicznego przekazywania informacji między procesami" także z tego co rozumiem muszę wysłać z procesu potomnego sygnał do innego procesu potomnego. I no właśnie o to mi chodzi, jak wysłać te informacje do procesów potomnych ? kiedy iniciuje 3 procesy potomne , mam 3 identyfikatory, do procesu który iniciuje jako pierwszy nie mogę wysłać identyfikatorów drugiego i trzeciego procesu ponieważ w momencie wywołania procesu pierwszego , id procesów 2 i 3 nie istnieją. Może to również źle zrozumiałem ale jeśli dobrze to nie mogę użyć mechanizmów :(łącza nazwane i nienazwane, pamięć współdzielona, zapis i odczyt z pliku, kolejek komunikatów i kolejek fifo) |
|
pekfos |
» 2021-01-27 22:39:38 Może to również źle zrozumiałem ale jeśli dobrze to nie mogę użyć mechanizmów :(łącza nazwane i nienazwane, pamięć współdzielona, zapis i odczyt z pliku, kolejek komunikatów i kolejek fifo) Czemu nie? Utwórz nazwane FIFO i przekaż nazwę do procesu potomnego przy jego tworzeniu. Masz do dyspozycji co najmniej argumenty uruchomieniowe programu. |
|
danielpadewski Temat założony przez niniejszego użytkownika |
» 2021-01-27 22:43:21 Bo trzeba skorzystać tylko z dwóch mechanizmów przekazywania informacji , ja już 2 wykorzystałem i nie umiem tego wytłumaczyć ale po prostu nie mogę więcej mechanizmów użyć. Jeśli nie da się tego zrobic to oznacza że błędnie zinterpretowałem założenie programu i trzeba sygnał wysłać z maina (chociaż jest jasno napisane "mechanizm asynchronicznego przekazywania informacji między procesami"). A poza tym mam problem z konsolą na ubuntu , czasami się dziwnie zachowuje przez co nie potrafie zidentyfikować pozostałych błędów , chociaż w kodzie ich nie widzę. |
|
pekfos |
» 2021-01-28 18:14:17 Jako że nieobecni nie mogą się bronić, to cały Twój kod jest błędny. Cały. Może ty nie widzisz tam błędów, ale ja widzę - moim trzecim okiem. Jak chcesz konkretów, to lepiej sam od nich zacznij. Treść zadania na start i kod, jeśli chcesz się go trzymać, inaczej licznik wykorzystanych mechanizmów zaczyna od zera. |
|
« 1 » |