GNU/Linux >> Linux Esercitazione >  >> Linux

come usare kill SIGUSR2 in bash?

SIGUSR2 dipende dall'architettura e può avere un valore al di fuori di 31 , 12 o 17 . Questo è descritto in man 7 signal . Dovrai scoprire quale valore è appropriato per il tuo sistema. Di solito questo viene fatto esaminando:

/usr/include/asm/signal.h 

Sul mio sistema - Ubuntu 12.04 AMD 64 - ha un valore di 12 :

#define SIGUSR2     12

Una volta che conosci il valore numerico corretto per SIGUSR2 sul tuo sistema, puoi inviare questo segnale usando:

kill -SIGNO PID
# In this case
kill -12 PID

Sulla mia macchina Linux funziona.

Ho eseguito un ciclo infinito (pid =4574), quindi ho eseguito

#!/bin/bash
kill -l | grep USR2
kill -SIGUSR2 4574

uccidi -l ha mostrato il segnale e kill -SIGUSR2 ha inviato il segnale (chiudendo il processo).

Controlla se stai eseguendo Bash o qualche altra shell (ad es. dash, busybox, ecc.)


Modo multipiattaforma per farlo:usa -s senza SIG prefisso. Ad esempio,:

kill -s USR2 $pid

Sembra funzionare sia su MacOS che su Linux.


Linux
  1. Come usare BusyBox su Linux

  2. Come usare i comandi della cronologia di Bash

  3. Come uso cron in Linux

  4. Come utilizzare auditd per monitorare un SYSCALL specifico

  5. Come posso eliminare la porta TCP 16969 in Bash?

Come utilizzare il comando di lettura Bash

Come utilizzare gli operatori di test di file Bash in Linux

Come utilizzare il comando Date negli script Bash in Linux

Come utilizzare il comando Declare in Linux Bash Shell

Come utilizzare il comando echo negli script Bash in Linux

Come utilizzare Linux Bash Shell in Windows 10?