On Wed, Jan 07, 2009 at 12:41:42PM +0100, Maciej Kwasniak wrote:
> Dnia 7-01-2009 o godz. 11:06 Marcin Owsiany napisał(a):
> > On Wed, Jan 07, 2009 at 10:41:39AM +0100, Maciej Kwasniak wrote:
> > > Moge oczywiscie zabic proces i uruchomic na nowo i pewnie tak trzeba
> > > bedzie zrobic. Ale myslalem ze to cos ze screenem. Chyba ze ktos bardzo
> > > chce dojsc do tego dlaczego EKG sie zawiesilo i powie mi co mam z tym
> > > dalej zrobic :)
> >
> > zainstaluje strace i gdb
> > spróbuj strace -p $pid_ekg
> > poczekaj chwilę, jeśli nic nie wypisze, to:
> > gcore $pid_ekg
> > gdb ekg core.$pid_ekg
> > bt
> >
> > --
> > Marcin Owsiany              http://marcin.owsiany.pl/
> > GnuPG: 1024D/60F41216  FE67 DA2D 0ACA FC5E 3F75  D6F6 3A0D 8AA0 60F4 1216
> 
> 
> zrobilem jak pisales.
> Jednak nie musialem czekac ani ulamka sekundy, zaraz po wpisaniu:
> strace -p 2624
> (taki byl pid ekg) ekran zasypal mi sie liniami:
> 
> poll([{fd=0, events=POLLIN, revents=POLLIN}, {fd=6, events=POLLIN, 
> revents=POLLIN|POLLHUP}], 2, 166) = 2
> gettimeofday({1231328007, 400141}, NULL) = 0
> gettimeofday({1231328007, 400225}, NULL) = 0
> poll([{fd=0, events=POLLIN, revents=POLLIN}, {fd=6, events=POLLIN, 
> revents=POLLIN|POLLHUP}], 2, -1) = 2
> gettimeofday({1231328007, 400400}, NULL) = 0
> gettimeofday({1231328007, 400482}, NULL) = 0
> poll([{fd=0, events=POLLIN, revents=POLLIN}, {fd=6, events=POLLIN, 
> revents=POLLIN|POLLHUP}], 2, 166) = 2
> gettimeofday({1231328007, 400656}, NULL) = 0
> gettimeofday({1231328007, 400737}, NULL) = 0
> poll([{fd=0, events=POLLIN, revents=POLLIN}, {fd=6, events=POLLIN, 
> revents=POLLIN|POLLHUP}], 2, -1) = 2
> gettimeofday({1231328007, 400912}, NULL) = 0
> gettimeofday({1231328007, 400993}, NULL) = 0
> poll([{fd=0, events=POLLIN, revents=POLLIN}, {fd=6, events=POLLIN, 
> revents=POLLIN|POLLHUP}], 2, 166) = 2
> gettimeofday({1231328007, 401165}, NULL) = 0
> gettimeofday({1231328007, 401246}, NULL) = 0
> 
> dosc dlugo czekalem i wcisnalem CTRL+C i sie skonczylo. EKG na szczescie 
> dziala nadal przywieszone.

Spróbuj strace -e \!poll -e \!gettimeofday -p 2624
powinien pomijać wtedy te dwa wywołania. Wtedy naciśnij jakiś klawisz w
terminalu w którym działa ekg, tudzież poproś kogoś, żeby coś do Ciebie
napisał na gg. Powinieneś zobaczyć jakąś aktywość (jakiś read() i
później może jakiś write()).

> GDB mam, ale nie mam polecenia gcore, musze chyba cos doinstalowac ?

Nie mam pojęcia. U mnie jest w pakiecie gdb po prostu.
Ale zamiast tego możesz spróbować:
gdb ekg 2624
bt
exit

Tyle że dopóki nie wyłączysz gdb, ekg będzie zablokowane.

> Czy powyzsze linie cos mowia ?

Mówią tyle, że ekg oczekuje na dane z terminala i sieci. Czy je dostaje,
i czy coś robi z nimi, powinieneś zobaczyć po powyższym teście.

-- 
Marcin Owsiany <[email protected]>             http://marcin.owsiany.pl/
GnuPG: 1024D/60F41216  FE67 DA2D 0ACA FC5E 3F75  D6F6 3A0D 8AA0 60F4 1216

Odpowiedź listem elektroniczym