giełda, akcje, inwestycje
 ° Forum ° Odpowiedz ° Rejestracja ° Szukaj °
Numizmatyka - monety ° Internetowa Auto giełda °

wykrywanie aktywnej konsoli

Forum / Linux / wykrywanie aktywnej konsoli
Autor Wiadomość
Mariusz Jedwabny

Posted: 6 Gru 2006 05:47:01



Witam

Prosty program w c śmiga sobie w tle, jak to demon, przypuśćmy że
pewnego dnia loguję się na maszynie i wysyłam mu SIGKILL.
Obsługa sygnału w programie wyświetla na ekran "bye bye" i wykonuje
exit(). Jednak "bye bye" wysyłane jest na konsole z której daemon
został uruchomiony czyli de facto nie pojawi się na ekranie. Szukam
sposobu jak w jednoznaczny sposób określić które /dev/tty jest tym
aktywnym by tak przekierować komunikat.

Byłbym wdzięczny za wszelkie sugestie.

Pozdrawiam
Mariusz J.




ethanak

Posted: 6 Gru 2006 07:01:03



[...]

Szukam
sposobu jak w jednoznaczny sposób określić które /dev/tty jest tym
aktywnym by tak przekierować komunikat.

/dev/console pasuje?

ethanak



Kamil Jońca

Posted: 6 Gru 2006 14:49:55



Witam

Prosty program w c śmiga sobie w tle, jak to demon, przypuśćmy że
pewnego dnia loguję się na maszynie i wysyłam mu SIGKILL.
Obsługa sygnału w programie wyświetla na ekran "bye bye" i wykonuje
exit(). Jednak "bye bye" wysyłane jest na konsole z której daemon
został uruchomiony czyli de facto nie pojawi się na ekranie. Szukam
sposobu jak w jednoznaczny sposób określić które /dev/tty jest tym
aktywnym by tak przekierować komunikat.
#define aktywny

Jeśli jesteś zdalnie zalogowany na 2 terminalach to na który ma pójść
info ?

KJ




pisz na.mirek

Posted: 6 Gru 2006 22:11:24



Witam

Prosty program w c śmiga sobie w tle, jak to demon, przypuśćmy że
pewnego dnia loguję się na maszynie i wysyłam mu SIGKILL.
Obsługa sygnału w programie wyświetla na ekran "bye bye" i wykonuje
exit(). Jednak "bye bye" wysyłane jest na konsole z której daemon
został uruchomiony czyli de facto nie pojawi się na ekranie. Szukam
sposobu jak w jednoznaczny sposób określić które /dev/tty jest tym
aktywnym by tak przekierować komunikat.

Byłbym wdzięczny za wszelkie sugestie.

Pogrzebać w kodzie wall?




Mariusz Jedwabny

Posted: 7 Gru 2006 05:58:24





#define aktywny

Jeśli jesteś zdalnie zalogowany na 2 terminalach to na który ma pójść
info ?


No i w tym cała kwintesencja problemu, na ten z którego wysłano SIGKILL.

Można to zrobić w ten sposób:
program wysyłajacy SIGKILL nim to zrobi tworzy plik w ktorym zapisuje
z ktorego terminala kozysta
program odbierajacy SIGKILL zna polozenie tego pliku czyta z niego i na
ten wlasnie terminal wysyla komunikat
ale to jest strasznie brzydkie rozwiazanie i szukam jakiegos magicznego
triku.

Aktualnie zaczytuje się w tematyke pliku /var/run/utmp a nuż się okaże
pomocny.

Mariusz J.




Kamil Jońca

Posted: 7 Gru 2006 06:40:42



Dnia Thu, 07 Dec 2006 06:58:24 +0100,
[...]
Można to zrobić w ten sposób:
program wysyłajacy SIGKILL nim to zrobi tworzy plik w ktorym zapisuje
z ktorego terminala kozysta
program odbierajacy SIGKILL zna polozenie tego pliku czyta z niego i na
ten wlasnie terminal wysyla komunikat
ale to jest strasznie brzydkie rozwiazanie i szukam jakiegos magicznego
triku.

Uwaga na marginesie: Jak wyślesz sigkill to, o ile wiem, nie dasz szansy
przeczytać programowi czegokolwiek.

A jesli chodzi o rozwiązanie to chyba nie bardzo da się lepiej tego
zrobić.
KJ




Mariusz Jedwabny

Posted: 7 Gru 2006 07:13:15




Dnia Thu, 07 Dec 2006 06:58:24 +0100,
[...]
Można to zrobić w ten sposób:
program wysyłajacy SIGKILL nim to zrobi tworzy plik w ktorym zapisuje
z ktorego terminala kozysta
program odbierajacy SIGKILL zna polozenie tego pliku czyta z niego i na
ten wlasnie terminal wysyla komunikat
ale to jest strasznie brzydkie rozwiazanie i szukam jakiegos magicznego
triku.

Uwaga na marginesie: Jak wyślesz sigkill to, o ile wiem, nie dasz szansy
przeczytać programowi czegokolwiek.

A jesli chodzi o rozwiązanie to chyba nie bardzo da się lepiej tego
zrobić.

Sorry cały czas miałem na myśli SIGTERM;)
Dzięki za pomoc.





Kamil Jońca

Posted: 7 Gru 2006 07:30:15



Dnia Thu, 07 Dec 2006 08:13:15 +0100,
[...]

A jesli chodzi o rozwiązanie to chyba nie bardzo da się lepiej tego
zrobić.

Sorry cały czas miałem na myśli SIGTERM;)
Dzięki za pomoc.

Inna sprawa, ze .... po co Ci to ?
Nie lepiej jeśli ten (jak rozumiem) demon sobie trzymał jakiś log i w
momencie otrzymania sygnału *tam* zapisywał owo ostatnie pożegnanie ?
Dlaczego tak Ci zależy, żeby to szło na konsolę ?
KJ





Mariusz Jedwabny

Posted: 7 Gru 2006 10:28:02




Dnia Thu, 07 Dec 2006 08:13:15 +0100,
[...]

A jesli chodzi o rozwiązanie to chyba nie bardzo da się lepiej tego
zrobić.

Sorry cały czas miałem na myśli SIGTERM;)
Dzięki za pomoc.

Inna sprawa, ze .... po co Ci to ?
Nie lepiej jeśli ten (jak rozumiem) demon sobie trzymał jakiś log i w
momencie otrzymania sygnału *tam* zapisywał owo ostatnie pożegnanie ?
Dlaczego tak Ci zależy, żeby to szło na konsolę ?
KJ

Wiadomo jak to jest jak się człowiek uprze, ja się uparłem by nie
wykonywać tu czytania/pisania do plików, nie zawsze musi być racjonalny
powód;)
Mariusz J.





Adam Wysocki

Posted: 7 Gru 2006 23:08:36




Prosty program w c śmiga sobie w tle, jak to demon, przypuśćmy że
pewnego dnia loguję się na maszynie i wysyłam mu SIGKILL.
Obsługa sygnału w programie wyświetla na ekran "bye bye" i wykonuje
exit().

W przypadku SIGKILL?

Szukam sposobu jak w jednoznaczny sposób określić które /dev/tty jest
tym aktywnym by tak przekierować komunikat.

Co to znaczy "aktywnym"?




Mariusz Jedwabny

Posted: 8 Gru 2006 05:13:53





Prosty program w c śmiga sobie w tle, jak to demon, przypuśćmy że
pewnego dnia loguję się na maszynie i wysyłam mu SIGKILL.
Obsługa sygnału w programie wyświetla na ekran "bye bye" i wykonuje
exit().

W przypadku SIGKILL?


Miałem na myśli SIGTERM.

Szukam sposobu jak w jednoznaczny sposób określić które /dev/tty jest
tym aktywnym by tak przekierować komunikat.

Co to znaczy "aktywnym"?

Ten tty lub pts z którego wysłano SIGTERM....
czyli ten który jest w danym momencie prawie napewno przez danego
zalogowanego klienta obserwowany w oczekiwaniu na wynik.





Adam Wysocki

Posted: 8 Gru 2006 07:12:45




Szukam sposobu jak w jednoznaczny sposób określić które /dev/tty jest
tym aktywnym by tak przekierować komunikat.

Co to znaczy "aktywnym"?

Ten tty lub pts z którego wysłano SIGTERM....
czyli ten który jest w danym momencie prawie napewno przez danego
zalogowanego klienta obserwowany w oczekiwaniu na wynik.

To nie działa w ten sposób. Proces nie dostaje pida procesu, który go
ubija (mając pida możesz sprawdzić terminal). Tak jak ktoś już napisał,
zamiast (albo oprócz) wysyłania TERMa możesz zrobić coś innego.




Mariusz Jedwabny

Posted: 8 Gru 2006 09:00:34





Szukam sposobu jak w jednoznaczny sposób określić które /dev/tty jest
tym aktywnym by tak przekierować komunikat.

Co to znaczy "aktywnym"?

Ten tty lub pts z którego wysłano SIGTERM....
czyli ten który jest w danym momencie prawie napewno przez danego
zalogowanego klienta obserwowany w oczekiwaniu na wynik.

To nie działa w ten sposób. Proces nie dostaje pida procesu, który go
ubija (mając pida możesz sprawdzić terminal). Tak jak ktoś już napisał,
zamiast (albo oprócz) wysyłania TERMa możesz zrobić coś innego.

No właśnie ja dobrze o tym wiem że nie można bezpośrednio odczytać tych
danych więc szukałem jakiegoś triku...i to bardziej z ciekawości niż
faktycznej potrzeby.
Tak jak napisałem wcześniej zrobiłem to po prostu na plikach i działa
tak jak tego oczekuje.







Twoja wypowiedź

Bold Style  Italic Style  Underlined Style  Image Link  Insert URL  Email Link  Wyłącz BB code


Zanim wyślesz jakąś wiadomość z polskimi znakami, upewnij się czy kodowanie znaków w twojej przeglądarce to ISO-8859-2
 » Login  » Hasło 
 


Czas ładowania strony (sek.): 0.389 users

miniBB.net © 2001-2010 | Polityka Prywatności
e-giełdy + opisy gg + kumy fubi ° oko na maroko ° nimda °

Online: Odwiedzający - 1
+ - 0
Najwięcej odwiedzających: 68 [1 Sty 2010 19:23:09]
Odwiedzający - 68 / + - 0
wiertarki udarowe chirurgia plastyczna . kredyt dla firm ive-got
  programy|| fundusze inwestycyjne|| pizza Bydgoszcz|| linki sponsorowane|| serwery gier multiplayer|| drabiny

  • Apple już przyjmuje zamówienia na iPady
  • Chociaż Apple iPad na rynek trafi dopiero 3 kwietnia, to firma z Cupertino już zaczęła przedsprzedaż swojego magicznego tabletu. Jeden klient może zamówić jednak tylko dwa urządzenia.
  • HTC Magic ze złośliwym dodatkiem
  • Hiszpański oddział Vodafone niechcący sprzedawał smartfony HTC Magic, zainfekowane Trojanem o nazwie Mariposa oraz innym złośliwym oprogramowaniem.
  • Satyryczny Kącik Informatyczny w radiu FAMA
  • Już dzisiaj o godzinie 16 na antenie radia FAMA będziecie mogli posłuchać między innymi o testach przenośnego dysku firmy Transcend. Nie zabraknie również konkursów.
  • Przenośny, multimedialny dysk twardy WD
  • WD prezentuje nowy dysk twardy o pojemności 320 Gigabajtów, który należy do linii My Passport AV i jest zoptymalizowany do przechowywania materiałów wideo.
  • Obama przychylny wprowadzeniu w USA ustawy podobnej do HADOPI
  • Stany Zjednoczone być może przyjmą swoją własną wersję ustawy HADOPI, która powstała we Francji i której celem jest sankcjonowanie piratów przez odcięcie ich od Sieci.