2012-09-05 13 views
14

Więc odpalić mój aplikacji C++ w GDB, a kiedy kończy pracę, ja w zasadzie dostać:C++ Linux Binary zakończył się sygnałem SIGKILL - dlaczego? (Załadowany GDB)

[Thread 0x7fff76e07700 (LWP 6170) exited] 
[Thread 0x7fff76f08700 (LWP 6169) exited] 
[Thread 0x7fff77009700 (LWP 6168) exited] 
... 
Program terminated with signal SIGKILL, Killed. The program no longer exists. 
(gdb) 

ja dosłownie nie mam pojęcia, dlaczego to ma miejsce, to dlaczego nie mogę zrobić śledzenie, aby zobaczyć, jak się zakończyło? Ktoś ma jakieś pomysły? To nigdy nie powinno się kończyć :(

Dzięki!

Odpowiedz

22

ja dosłownie nie mam pojęcia, dlaczego to ma miejsce,

Zazwyczaj oznacza to, że albo

  • jakiś inny proces dokonanej a kill -9 <your-pid> lub
  • Kernel OOM zabójca zdecydował, że Twój proces pochłonął zbyt wiele źródła i zakończył go (skutecznie jądro wykonane dla niego kill -9). Powinieneś poszukać w /var/log/messages (/var/log/syslog na wariantach Ubuntu) - ślady tego - jądro zazwyczaj loguje wiadomość, gdy OOM jakiś proces.

dlaczego nie mogę zrobić śledzenia wstecznego, aby zobaczyć, jak zostało zakończone?

Ponieważ aby zobaczyć ślad wstecz, proces musi istnieć. Jeśli nie istnieje, nie ma stosu, a więc nie może mieć śledzenia wstecznego.

+0

Albo programista chciał być sprytny z jakiegoś powodu, a jeden z wątków zabija własny program z SIGKILL. –

+4

Czy byłby kolejny dziennik, który powinienem sprawdzić (jestem na ubuntu)? – Geesu

+0

@Geesu: check/var/log/syslog – mitchus

0

W moim przypadku wystąpił błąd (AV). Nawet przy dołączonym GDB nie mogłem złapać tego naruszenia.
Mam nadzieję, że pomaga

1

Jest możliwe, że proces przebiegał w ulimit czasu procesora. Sprawdź z ulimit -a ze środowiska, w którym proces jest faktycznie uruchamiany, jeśli "czas procesora" jest ustawiony na coś innego niż "nieograniczony"

+0

Czy to nie spowodowałoby błędu segmentacji? Czy to nie jest przepełnienie bufora? – yash101

+0

@ yash101 dlaczego spowodowałoby to uszkodzenie? Błąd segmentacji występuje wtedy, gdy uzyskuje się dostęp do pamięci w sposób niedozwolony. Nie ma to nic wspólnego z czasem procesora. –

+0

Kiedy napisałem ten komentarz i dlaczego? To nie ma sensu! Czuję, że coś się zmieniło! – yash101

Powiązane problemy