Provided by: manpages-pl_20060617-1_all bug

NAZWA

       core - plik zrzutu pamięci

OPIS

       Dla  pewnych sygnałów domyślną akcją procesu jest zakończenie działania
       i utworzenie pliku zrzutu pamici  (core),  czyli  pliku  zawierającego
       obraz  pamięci  procesu  w  czasie,  gdy  został  on  zakończony. Listę
       sygnałów powodujących utworzenie pliku core przez proces można  znaleźć
       w signal(7).

       Proces  może  ustawić  miękki limit zasobów RLIMIT_CORE, aby ograniczyć
       maksymalny  rozmiar  pliku,  który  zostanie  utworzony  po  otrzymaniu
       sygnału   powodującego  zrzut  pamięci;  szczegółowe  informacje  można
       znaleźć w getrlimit(2).

       W następujących wypadkach plik zrzutu pamięci nie będzie utworzony:

       *      Proces  nie  ma  uprawnień,  aby  zapisać  plik  zrzutu  pamięci
              (Domyślnie  plik  ten nazywa się core i jest tworzony w bieżącym
              katalogu roboczym  procesu.  Nazwę  tę  można  zmienić  -  patrz
              niżej).  Zapisywanie  pliku  zrzutu  nie  powiedzie  się również
              wtedy,  gdy  prawa  katalogu,  w  którym  ten  plik  miałby  być
              utworzony,  nie  pozwalają  na zapis do niego lub gdy plik o tej
              samej nazwie istnieje  i  nie  jest  zapisywalny  lub  nie  jest
              zwykłym    plikiem   (ale   np.   katalogiem   lub   dowiązaniem
              symbolicznym).

       *      Nie istnieje katalog, w którym miałby być utworzony plik  zrzutu
              pamięci.

       *      Limity  zasobów  RLIMIT_CORE  lub  RLIMIT_FSIZE  dla  procesu są
              ustawione na zero (patrz getrlimit(2)).

       *      Nie  są  ustawione  uprawnienia  do  odczytu   pliku   binarnego
              uruchomionego przez proces.

       *      Proces  uruchomił  program  z  flagą set-user-ID (set-group-ID),
              którego  właścicielem   jest   użytkownik   (grupa)   inny   niż
              rzeczywisty   użytkownik  (grupa)  procesu.  (Jednakże  patrz  w
              prctl(2) opis operacji PR_SET_DUMPABLE oraz w proc(5) opis pliku
              /proc/sys/fs/suid_dumpable).

   Nazwy plików zrzutu pamięci
       Domyślnie  plik  zrzutu  pamięci  nazywa  się  core,  jednakże  w pliku
       </proc/sys/kernel/core_pattern> (wprowadzonym  w  Linuksie  2.5)  można
       zdefiniować  szablon,  który  będzie  użyty  do nazywania plików zrzutu
       pamięci. Szablon ten może zawierać specjalne znaczniki zaczynające  się
       od   %,   które   podczas   tworzenia   pliku  zrzutu  będą  zastąpione
       następującymi wartościami:

         %%  pojedynczy znak %
         %p  PID procesu zrzucającego pamięć
         %u  rzeczywisty UID tego procesu
         %g  rzeczywisty GID tego procesu
         %s  numer sygnału wywołującego zrzut pamięci
         %t  czas zrzutu (sekundy od północy 1 stycznia 1970)
         %h  nazwa komputera (to samo co 'nodename'
             zwracane przez uname(2))
         %e  nazwa pliku wykonywalnego

       Jeśli szablon kończy się pojedynczym znakiem %, to  znak  ten  zostanie
       usunięty  z nazwy pliku zrzutu. Podobnie zostaną usunięte wszelkie inne
       kombinacje % i znaku niż te, wymienione powyżej. Wszystkie  inne  znaki
       szablonu  staną  się  częścią  nazwy  pliku  zrzutu. Maksymalna długość
       wygenerowanej nazwy pliku wynosi  64  bajty.  Domyślną  wartością  jest
       "core".     W    celu    zachowania    wstecznej    zgodności,    jeśli
       /proc/sys/kernel/core_pattern      nie      zawiera       "%p",       a
       /proc/sys/kernel/core_uses_pid  (patrz  niżej) ma niezerową wartość, to
       .PID będzie dołączony do nazwy pliku zrzutu.

       Linux  2.4  zamiast  pliku   /proc/sys/kernel/core_pattern   dostarczał
       bardziej  prymitywną  metodę  kontrolowania nazwy pliku zrzutu pamięci.
       Gdy plik /proc/sys/kernel/core_uses_pid zawiera wartość 0, plik  zrzutu
       pamięci  ma  po  prostu  nazwę  core.  Gdy  plik  ten  zawiera  wartość
       niezerową, plik zrzutu pamięci  będzie  zawierał  w  swojej  nazwie  ID
       procesu, w postaci core.PID.

UWAGI

       Aby  uzyskać  zrzut  pamięci działającego procesu, można użyć polecenia
       gcore programu gdb(1).

       Jeżeli pamięć zrzuca proces wielowątkowy (albo - bardziej precyzyjnie -
       proces,  który  dzieli  swą  pamięć z innym procesem utworzonym z flagą
       CLONE_VM funkcji clone(2)), to ID procesu zawsze  będzie  dołączone  do
       nazwy  pliku  zrzutu,  chyba  że  owo ID procesu już występuje w nazwie
       pliku,   ponieważ   w   pliku    /proc/sys/kernel/core_pattern    użyto
       specyfikatora %p.

ZOBACZ TAKŻE

       gdb(1),   getrlimit(2),   prctl(2),   sigaction(2),   elf(5),  proc(5),
       signal(7)