내 스크립트를 중단하는 방법은 무엇입니까?

내 스크립트를 중단하는 방법은 무엇입니까?

나는 다음 스크립트(명령에서 시작 at)를 경보로 사용합니다.

#! /bin/sh

-m으로 설정

사실이지만; 하다
  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

그래도 더 좋은 방법이 있다고 확신합니다.

관련 정보