Co oznacza „<>” w „kill -9 <>”?

15

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 killpolecenie służy do wysłania sygnału do procesu, który 9reprezentuje SIGKILLsygnał kończący proces, ale co oznacza ten <>argument?

Przeczytałem strony podręcznika dla killpolecenia, ale wciąż nie mogę zrozumieć, dlaczego i po co <>jest używany.

dw8547
źródło
7
Czy możesz dodać link do samouczka? Pierwszą rzeczą, która przychodzi na myśl, jest to, że autor tego postu chce, abyś zastąpił <>znaki określonym identyfikatorem procesu.
Dan
20
Wygląda na to, że autor strony pomieszany z ciągami HTML. Kod źródłowy ma:, kill&nbsp;-9 &lt;<pid for="" nbsp="" postmaster="" process="">&gt;</pid>więc prawdopodobnie napisali, kill -9 <pid>a jakiś śmieszny edytor wykonał całą magię, aby utworzyć <pid>znacznik.
fedorqui
9
@fedorqui, <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ć, że kill -9 <pid for postmaster process>tajemnica rozwiązana.
dw8547
9
Uwaga: nie kill -9nawykaj. Po prostu użyj kill. SIGTERM pozwala na płynne zakończenie procesu. SIGKILL ( -9) jest opcją nuklearną.
John Kugelman
@fedorqui: Jestem prawie pewien, że to zabiło -9 <<pid>>.
Joshua

Odpowiedzi:

16

Powinieneś zastąpić <>identyfikator procesu. Aby uzyskać identyfikator procesu, możesz użyć polecenia

ps -aux

Spowoduje 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ć pkillpolecenia z nazwą procesu, np

pkill -9 mysql
Félicien
źródło
1
... a jeśli jest wiele instancji, możesz użyć killall. Ponadto, jeśli chcesz PID, pgreposzczędza polowanie poprzez pswyjście
Zanna 14'18
3
@Zanna pkill zabija wszystkie pasujące procesy, nie tylko jeden.
Dan
7
pamiętaj, że pkill zabiłoby każdy proces zawierający mysqlsłowo. Na przykład, jeśli masz wywołany proces mysqli inny mysql-python(tylko przykład), oba zostaną zabite tym poleceniem.
Dan
3

To jest

<pid> [...]
      Send signal to every <pid> listed.

na stronie podręcznika. W <>cytatach zawsze znajduje się opis .

L.Integra
źródło
2

<>na stronie podręcznika oznacza zastąpić <>PID.

Oprócz odpowiedzi Felicien za pomocą pspolecenia możesz także użyć toplubhtop

top -d 10

Użyj -d <>(czas trwania), aby aktualizować co <>sekundę.

Aby zabić proces, po prostu zanotuj PID i zabij identyfikator procesu za pomocą:

kill -9 xxxx

Uwaga: dla htop, musisz wpisać htop -d 100ie; 10sekundy.

Shaze
źródło