Как прервать мой сценарий?

Как прервать мой сценарий?

atВ качестве будильника я использую следующий скрипт (который запускаю из команды):

#! /bin/ш

набор -м

пока правда; делать
  paplay /usr/share/sounds/phone.wav
сделанный &

Я хочу привязать клавишу, чтобы остановить этот сигнал тревоги. Пожалуйста, помогите написать скрипт, который мог бы найти и убить этот процесс.

решение1

Добавьте следующее в конец вашего скрипта:

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

Тогда ваш сценарий убийства будет

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

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

Вам также следует запустить сценарий завершения в начале сценария тревоги, чтобы гарантировать единственный экземпляр процесса.

решение2

Это должно сработать.

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

Хотя я уверен, что есть способы и получше.

Связанный контент