• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Jak się przed tym ubezpieczyć?

0 głosów
381 wizyt
pytanie zadane 19 lutego 2018 w C i C++ przez Hiskiel Pasjonat (22,830 p.)
Witam! Piszę program konsolowy który ma pewne zadanie, ale nie ważne. Można w nim m.in wywoływać systemowe komendy. Tylko, że problem jest taki, że gdy naciśnie się Ctrl+C (np. w print -t się to często stosuje) to nie dość, że wyłącza ping, to wyłącza program. Czy da się przed tym ubezpieczyć? Myślałem, o przekazywaniu cały czas parametrów między dwoma programami, tzn.:

1. Program główny wysyła do pobocznego jakąś zmienną czy coś, ale to w zasadzie nie musi być.

2. Program poboczny cały czas będzie czuwać i jeśli proces głównego programu nie chodzi, to do aktywnej konsoli wysyła argument? Z uruchomieniem tego programu. Chodzi o to, że gdybym napisał coś w stylu "C:\program.exe" to otworzy się nowa konsola, a to ma być w aktualnej. Czy da się to zrobić tak, że wysyła się np. Handle to konkretnej konsoli do tego pobocznego i ten poboczny w razie czego uruchomi ten główny w tej konkretnej konsoli...

 

Prosiłbym o pomoc.
komentarz 19 lutego 2018 przez mokrowski Mędrzec (158,580 p.)
Pkt 1 i 2 niezrozumiały. Proszę przeredaguj bo nie rozumiem o co chodzi?

1 odpowiedź

+2 głosów
odpowiedź 19 lutego 2018 przez mokrowski Mędrzec (158,580 p.)
wybrane 19 lutego 2018 przez Hiskiel
 
Najlepsza
Co do zabezpieczenia przed <CTRL + C>, wystarczy że zdefiniujesz "nicnierobącą" funkcję obsługi sygnału i ją zarejestrujesz.

http://en.cppreference.com/w/cpp/utility/program/signal
komentarz 19 lutego 2018 przez Hiskiel Pasjonat (22,830 p.)
Czyli po prostu jakas pusta funkcja i signal(sigint, nicnierobiacafunkcja); tak?
komentarz 19 lutego 2018 przez mokrowski Mędrzec (158,580 p.)

No tak. Albo jawny "ignor" std::signal(SIGINT, SIG_IGN) co także masz w dokumentacji.

Sygnałem będzie SIGINT lub SIGTERM.

komentarz 19 lutego 2018 przez Hiskiel Pasjonat (22,830 p.)

@mokrowski, ok dziękuję bardzo! 

Podobne pytania

+1 głos
0 odpowiedzi 205 wizyt
pytanie zadane 1 maja 2016 w JavaScript przez jegor377 Stary wyjadacz (13,230 p.)
0 głosów
1 odpowiedź 251 wizyt
pytanie zadane 19 sierpnia 2020 w JavaScript przez Greeenone Pasjonat (16,100 p.)
0 głosów
1 odpowiedź 368 wizyt
pytanie zadane 23 marca 2016 w C i C++ przez jegor377 Stary wyjadacz (13,230 p.)

93,424 zapytań

142,421 odpowiedzi

322,646 komentarzy

62,785 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

VMware Cloud PRO - przenieś swoją infrastrukturę IT do chmury
...