mata o processo mestre gerado por um comando at

0

Usando at , estou tentando configurar um comando que me envia um lembrete em um horário específico e continua me lembrando repetidamente. Mas eu quero ser capaz de matar o comando at uma vez que eu me lembrei. No entanto, não consigo encontrar o PID para o comando at de que preciso para eliminar o lembrete. O script que estou executando é

at $thisTime -f $thisFile

onde $ thisFile parece algo como isto

#!/bin/bash
sleepTime=20
while [ 1 > 0 ];
    do
        notify-send "word"
        sleep $sleepTime
    done

O comando funciona bem, mas continua executando o comando notify-osd nos intervalos especificados, para sempre.

Quando executo ps auxw , esperaria encontrar uma linha identificando o comando at que executei para gerar esse lembrete, mas nada aparece.

Eu também tentei executar atq e atrm para remover os números que atq retornaram, mas ainda não consigo matar o comando mestre e continuar a receber notify-send mensagens até que eu faça logout .

Alguém poderia me dizer como eu posso encontrar o pid para o comando at ? Muito obrigado!

    
por Leo Simon 07.12.2016 / 20:59

1 resposta

2

O comando at terminará assim que você criar o trabalho "at". O trabalho é iniciado pelo at daemon (atd), que você não quer matar ou não vai gerar mais nada.

Você realmente quer matar o processo bash executando $ thisFile (procure por bash $ thisFile na saída do ps)

Você também pode modificar o script para incluir seu PID na mensagem que envia: notify-send "$$: word" , para saber qual processo deve ser eliminado imediatamente

    
por Nick Sillito 07.12.2016 / 21:10