Utilizo el siguiente script (que comienzo desde at
el 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.