Che cosa significa "<>" in "kill -9 <>"?


15

Sto attraversando un tutorial sul recupero da un errore del database e nel tutorial viene simulato un errore sull'host del database primario con:

kill -9 <>

So che il killcomando viene utilizzato per inviare un segnale a un processo e che 9rappresenta il SIGKILLsegnale che termina un processo, ma a cosa serve l' <>argomento?

Ho letto le pagine del manuale per il killcomando, ma non riesco ancora a capire perché e perché <>.


7
Puoi aggiungere il link al tutorial? La prima cosa che viene in mente è che l'autore di quel post vuole che tu sostituisca i <>personaggi con un ID processo specifico.
Dan,

20
Sembra che l'autore del sito abbia incasinato stringhe HTML. Il codice sorgente ha:, kill&nbsp;-9 &lt;<pid for="" nbsp="" postmaster="" process="">&gt;</pid>quindi probabilmente hanno scritto kill -9 <pid>e qualche editor divertente ha fatto tutta la magia per creare un <pid>tag.
fedorqui,

9
@fedorqui, <pid for="" nbsp="" postmaster="" process="">ha perfettamente senso! Ha lo scopo di dire "pid per processo postmaster" ed è il PID PostgreSQL principale da uccidere. Quindi il post voleva dire kill -9 <pid for postmaster process>Mistero risolto.
DW8547,

9
Heads up: non prendere l' kill -9abitudine. Basta usare kill. SIGTERM consente di chiudere il processo con grazia. SIGKILL ( -9) è l'opzione nucleare.
John Kugelman,

@fedorqui: sono abbastanza sicuro che sia stato kill -9 <<pid>>.
Giosuè,

Risposte:


16

Dovresti sostituire il <>con l'id del processo. Per ottenere l'id del processo, è possibile utilizzare il comando

ps -aux

Elencherà tutti i processi e dovrai solo scegliere il processo giusto

Se hai una singola istanza di un processo, puoi anche usare il pkillcomando con il nome del processo, ad es

pkill -9 mysql

1
... e se ci sono più istanze, puoi usare killall. Inoltre, se vuoi il PID, pgreprisparmia la caccia attraverso l' psoutput
Zanna,

3
@Zanna pkill in realtà uccide tutti i processi corrispondenti, non solo uno.
Dan

7
tieni presente che pkill ucciderebbe qualsiasi processo contenente la mysqlparola. Ad esempio, se hai un processo chiamato mysqle un altro mysql-python(solo un esempio) verrebbero entrambi uccisi con quel comando.
Dan

3

È

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

in manpage. C'è sempre una descrizione all'interno delle <>virgolette.


2

<>nella pagina man significa sostituire <>con PID.

Oltre alla risposta di Felicien usando il pscomando, puoi anche usare topohtop

top -d 10

Utilizzare -d <>(durata) per aggiornare ogni <>secondo.

Per terminare il processo, è sufficiente annotare il PID e terminare l'ID processo con:

kill -9 xxxx

Nota: per htop, dovrai digitare htop -d 100ie; 10secondi.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.