Przechodzę samouczek na temat odzyskiwania po awarii bazy danych, aw samouczku awaria na hoście podstawowej bazy danych jest symulowana za pomocą:
kill -9 <>
Wiem, że kill
polecenie służy do wysłania sygnału do procesu, który 9
reprezentuje SIGKILL
sygnał kończący proces, ale co oznacza ten <>
argument?
Przeczytałem strony podręcznika dla kill
polecenia, ale wciąż nie mogę zrozumieć, dlaczego i po co <>
jest używany.
command-line
kill
dw8547
źródło
źródło
<>
znaki określonym identyfikatorem procesu.kill -9 <<pid for="" nbsp="" postmaster="" process="">></pid>
więc prawdopodobnie napisali,kill -9 <pid>
a jakiś śmieszny edytor wykonał całą magię, aby utworzyć<pid>
znacznik.<pid for="" nbsp="" postmaster="" process="">
to ma sens! Ma to oznaczać „pid dla procesu postmastera” i jest to główny PID PostgreSQL do zabicia. Więc post miał powiedzieć, żekill -9 <pid for postmaster process>
tajemnica rozwiązana.kill -9
nawykaj. Po prostu użyjkill
. SIGTERM pozwala na płynne zakończenie procesu. SIGKILL (-9
) jest opcją nuklearną.Odpowiedzi:
Powinieneś zastąpić
<>
identyfikator procesu. Aby uzyskać identyfikator procesu, możesz użyć poleceniaSpowoduje to wyświetlenie listy wszystkich procesów, a ty po prostu wybierz odpowiedni proces
Jeśli masz pojedyncze wystąpienie procesu, możesz także użyć
pkill
polecenia z nazwą procesu, npźródło
killall
. Ponadto, jeśli chcesz PID,pgrep
oszczędza polowanie poprzezps
wyjściemysql
słowo. Na przykład, jeśli masz wywołany procesmysql
i innymysql-python
(tylko przykład), oba zostaną zabite tym poleceniem.To jest
na stronie podręcznika. W
<>
cytatach zawsze znajduje się opis .źródło
<>
na stronie podręcznika oznacza zastąpić<>
PID.Oprócz odpowiedzi Felicien za pomocą
ps
polecenia możesz także użyćtop
lubhtop
Użyj
-d <>
(czas trwania), aby aktualizować co<>
sekundę.Aby zabić proces, po prostu zanotuj PID i zabij identyfikator procesu za pomocą:
Uwaga: dla
htop
, musisz wpisaćhtop -d 100
ie;10
sekundy.źródło