Zatrzymywanie programu w konsoli za pomocą własnej kombinacji klawiszy
Ostatnio zmodyfikowano 2019-01-03 00:25
Bagiel Temat założony przez niniejszego użytkownika |
Zatrzymywanie programu w konsoli za pomocą własnej kombinacji klawiszy » 2019-01-02 21:38:04 Witam,tak jak w tytule muszę stworzyć dowolną kombinacje klawiszy (inną niż CTRL+C,ALT+F4 itp) która zatrzyma program działający w konsoli.Znalazłem informacje o funkcjach getch() oraz kbhit() jednak wymagają one biblioteki conio.h która nie bardzo lubi się z linuxem.Zacząłem także kombinować coś z biblioteką ncurses.h jednak i tutaj daleko nie zaszedłem.Niżej przykład programu na którym taka kombinacja mogłaby być wykorzystana (pochodzi z ksiązki Advanced Linux Programming i wypisuje w pętli x oraz o ).Dziwi mnie że coś z pozoru tak łatwego jak zatrzymanie programu kombinacją klawiszy (czy nawet dowolnym jednym klawiszem) wymaga tyle zachodu,bo siedzę nad tym już 4 dzień i nie mogę rozgryźć.Powiedzmy ze chce zatrzymać program za pomocą q+w .Dzieki za wszelką pomoc #include <pthread.h> #include <stdio.h>
void * print_xs( void * unused ) { while( 1 ) fputc( 'x', stderr ); return NULL; }
int main() { pthread_t thread_id; pthread_create( & thread_id, NULL, & print_xs, NULL ); while( 1 ) fputc( 'o', stderr ); return 0; }
|
|
pekfos |
» 2019-01-02 21:53:40 Może być Ctrl+Break? |
|
Bagiel Temat założony przez niniejszego użytkownika |
» 2019-01-03 00:25:27 Generalnie nie powinna to być żadna już istniejąca kombinacja która ingeruje w działanie programu (zamyka go,stopuje,pauzuje itd) |
|
« 1 » |