1

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

#! /bin/sh

set -m

while true; do
  paplay /usr/share/sounds/phone.wav
done &

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

2 ответа2

1

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

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

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

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

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

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

0

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

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .