Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

wysyłanie sygnałów do procesu

Ostatnio zmodyfikowano 2021-01-28 18:14
Autor Wiadomość
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 ?
P-178045
» 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?
P-178046
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)
P-178047
» 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.
P-178048
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ę.
P-178049
» 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.
P-178052
« 1 »
  Strona 1 z 1