Eu uso o seguinte script (que inicio a partir do at
comando) 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.