¿Cómo interrumpir mi guión?

¿Cómo interrumpir mi guión?

Utilizo el siguiente script (que comienzo desde atel comando) como alarma:

#! /bin/sh

conjunto -m

si bien es cierto; hacer
  paplay /usr/share/sounds/phone.wav
hecho &

Quiero vincular una clave para detener esta alarma. Ayúdenos a escribir un script que pueda localizar y finalizar este proceso.

Respuesta1

Agregue lo siguiente al final de su script:

PID=$!
echo $PID > /tmp/wakeupalarm.pid

Entonces tu guión para matar será

#!/bin/bash
PidFile=/tmp/wakeupalarm.pid

[ -f $PidFile ] && kill $(< $PidFile) && echo > $PidFile

También debe ejecutar el script de eliminación al inicio del script de alarma, para garantizar una única instancia del proceso.

Respuesta2

Esto debería funcionar

#!/bin/bash
pid=$(ps aux | grep scriptname.sh | awk -F ' ' ' { print $2 } '
kill $pid

Aunque estoy seguro de que hay mejores formas.

información relacionada