From: Özkan KIRIK (g01156033@mersin.edu.tr)
Date: Sat 17 Apr 2004 - 16:59:50 EEST
Merhabalar,
uzun sure bos yere ugrasmisim :(
"tty" komutunun kodlarini inceledim.
Bi de NE GOREYIM: aradigim sey orda yaziyor :)
ttyname(0) fonksiyonu, istedigim isi yapiyor :)
program deamon olmadan once ttyname'in degerini bir degiskene atiyorum.
fopen ile o devicenode 'u aciyorum,
fprintf ile de yazdiriyorum. Ustelik deamon iken bile yaziyor. (Sistem:=
FreeBSD, linuxta calisir mi bilmem :P )
herkese kolay gelsin.
(Serdar Hocam, daemon iken konsola hic kasmadan yazdirabiliyorsunuz.)
*********** REPLY SEPARATOR ***********
On 16.04.2004 at 08:32 Serdar K=D6YL=DC wrote:
>Selamlar..
>
>> Arkadaslar,
>>
>> Zaten syslog'a ve kendi log dosyasina logluyor.
>> Ancak, kullanici syslog'u hic bakmadigi bir konsola yonderdirdigi zaman=
(ki=3D
>> genellikle boyle yapiyorlar) bu mesaji alamiyor.
>> Program Daemon oldugu zaman --printf() ile textleri yazdirir gibi--=3D
>
>daemon olduktan sonra degilde, daemon olmadan hemen once
>yazdirabilirsin. Istedigin cozum degil ama, bir cozum.
>
>
>> mesajlari kullanicinin konsoluna yazidirmak istiyorum.
>> Bu nedenle kullanicinin bu programi hangi TTY den cagirdini ogrenmem=3D
>> gerekiyor.
>>
>> ttyslot() ile ipin ucunu tuttum, ama bu aradigim yaniti vermiyor.
>> isatty(ttyslot()) 'un =3DE7=3DFDkt=3DFDs=3DFD /dev/tty0=
d=3DFD=3DFE=3DFDnda her zaman 0=3D
>> oluyor.
>
>tty degilde, pts'ler kullaniliyor son donemde malum. Bu durumda eger
>daemon olmak uzere yeni bir session'a girersen, pts'lerle tum baglantin
>kesiliyor haliyle. Hangi tty oldugunu bulsan bile ona yazabilirmisin
>bilmiyorum. Fikir (bilgi degil) olarak ona artik ulasamaman gerekiyor.
>Onun hangi dosya oldugunu bulman pek zor degil aslinda.
>
>ls -al /proc/self/fd/0
>
>Bu bir symlink olmali. Bunun isaret ettigi dosya, process'in stdio
>cihazi. fstat faydalidir bu konularda malum. Bu dosyaya yazarsan olur
>saniyorum.
>
>Saygi ve sevgiler..