Como interromper meu script?

Como interromper meu script?

Eu uso o seguinte script (que inicio a partir do atcomando) como alarme:

#! /bin/sh

definir -m

enquanto verdadeiro; fazer
  papal /usr/share/sounds/phone.wav
feito &

Quero vincular uma chave para parar este alarme. Por favor, ajude a escrever um script que possa localizar e encerrar esse processo.

Responder1

Adicione o seguinte ao final do seu script:

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

Então o seu script de assassinato será

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

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

Você também deve executar o script kill no início do script de alarme, para garantir uma única instância do processo.

Responder2

Isso deve funcionar

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

Tenho certeza de que existem maneiras melhores.

informação relacionada