Was bedeutet das "<>" in "kill -9 <>"?


15

Ich durchlaufe ein Lernprogramm zur Wiederherstellung nach einem Datenbankfehler. In diesem Lernprogramm wird ein Fehler auf dem Host der primären Datenbank simuliert mit:

kill -9 <>

Ich weiß, dass der killBefehl zum Senden eines Signals an einen Prozess verwendet wird und 9das SIGKILLSignal darstellt, das einen Prozess beendet, aber wofür steht das <>Argument?

Ich habe die Handbuchseiten für den killBefehl gelesen , kann aber immer noch nicht herausfinden, warum und wofür er <>verwendet wird.


7
Können Sie den Link zum Tutorial hinzufügen? Das erste, was mir in den Sinn kommt, ist, dass der Autor dieses Beitrags möchte, dass Sie die <>Zeichen durch eine bestimmte Prozess-ID ersetzen .
Dan

20
Es sieht so aus, als ob der Autor der Site mit HTML-Strings durcheinander geraten ist. Der Quellcode hat:, kill&nbsp;-9 &lt;<pid for="" nbsp="" postmaster="" process="">&gt;</pid>also haben sie wahrscheinlich geschrieben kill -9 <pid>und ein lustiger Editor hat die ganze Magie aufgewendet, um ein <pid>Tag zu erstellen .
Fedorqui

9
@fedorqui, <pid for="" nbsp="" postmaster="" process="">das macht absolut Sinn! Es soll "pid for postmaster process" heißen und es ist die wichtigste zu tötende PostgreSQL-PID. Der Post sollte also kill -9 <pid for postmaster process>lauten : Geheimnis gelöst.
Dw8547

9
Heads up: Mach dir keine kill -9Angewohnheit. Verwenden Sie einfach kill. Mit SIGTERM wird der Prozess ordnungsgemäß beendet. SIGKILL ( -9) ist die nukleare Option.
John Kugelman unterstützt Monica

@fedorqui: Ich bin mir ziemlich sicher, dass es kill -9 << pid >> war.
Joshua

Antworten:


16

Sie sollen die <>durch die Prozess-ID ersetzen . Um die Prozess-ID zu erhalten, können Sie den Befehl verwenden

ps -aux

Es werden alle Prozesse aufgelistet und Sie müssen nur den richtigen Prozess auswählen

Wenn Sie eine einzelne Instanz eines Prozesses haben, können Sie auch den pkillBefehl mit dem Namen des Prozesses verwenden, z

pkill -9 mysql

1
... und wenn es mehrere Instanzen gibt, können Sie verwenden killall. Auch, wenn Sie die PID möchten, pgrepspart Jagd durch psAusgabe
Zanna

3
@Zanna pkill beendet tatsächlich alle Prozesse, die übereinstimmen, nicht nur einen.
Dan

7
Denken Sie daran, dass pkill jeden Prozess beenden würde, der das mysqlWort enthält. Wenn Sie beispielsweise einen Prozess aufgerufen haben mysqlund ein anderer mysql-python(nur ein Beispiel), werden beide mit diesem Befehl beendet.
Dan

3

Es ist

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

in der Manpage. Die <>Anführungszeichen enthalten immer eine Beschreibung .


2

<>In der Manpage bedeutet durch <>PID ersetzen .

Neben der Antwort von Felicien über den psBefehl können Sie auch topoder verwendenhtop

top -d 10

Verwenden Sie -d <>(Dauer), um alle <>Sekunden zu aktualisieren .

Um den Prozess zu beenden, notieren Sie einfach die PID und beenden Sie die Prozess-ID mit:

kill -9 xxxx

Hinweis: Für htopmüssen Sie Folgendes eingeben: htop -d 100ie; 10Sekunden.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.