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
