Wie unterbreche ich mein Skript?

Wie unterbreche ich mein Skript?

atAls Alarm verwende ich folgendes Skript (welches ich per Kommando starte ):

#! /bin/sh

setze -m

während wahr; tun
  paplay /usr/share/sounds/phone.wav
Erledigt &

Ich möchte eine Taste zuweisen, um diesen Alarm zu stoppen. Bitte helfen Sie, ein Skript zu schreiben, das diesen Prozess lokalisieren und beenden kann.

Antwort1

Fügen Sie am Ende Ihres Skripts Folgendes hinzu:

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

Dann wird Ihr Tötungsskript sein

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

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

Sie sollten das Kill-Skript auch zu Beginn des Alarm-Skripts ausführen, um eine einzelne Instanz des Prozesses sicherzustellen.

Antwort2

Das sollte funktionieren

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

Ich bin sicher, dass es bessere Möglichkeiten gibt.

verwandte Informationen