[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] YAD: como matar o YAD_PID ao sair
From: |
monovox . art |
Subject: |
Re: [shell-script] YAD: como matar o YAD_PID ao sair |
Date: |
30 Sep 2016 13:40:30 -0700 |
---Em address@hidden, <julio.neves@...> escreveu:
Fala Marcel,
estou cheio de pressa, então vou colar um script aqui para vc ver. Se não
entender, depois das 19:00h te explico.
Blz, Julio, muito obrigado. Desculpe minha latência em responder.
Rodei seu exemplo sem problemas.
Comparando seu código me ajudou a confirmar o que eu pensava: que eu estava
fazendo algo muito besta. Pois bem, eu inverti aspas simples com duplas e aí o
shell não expandia o $YAD_PID :P
Antes:
# --command="bash -c 'on_exit $YAD_PID' " &
After help:
--command='bash -c "kill -USR2 $YAD_PID"' &
Agora ele pegou o PID. Apesar disso, o teu código mata o YAD_PID de boa. Mas o
meu, apesar de pegar o PID do yad lança:
(yad:7091): Gtk-CRITICAL **: IA__gtk_dialog_response: assertion 'GTK_IS_DIALOG
(dialog)' failed
Aí fiquei pensando: tem algo a ver pelo meu código usar --notification ? Ou por
não chamar de um botão, sei lá... O teu usa --form ... e funcionou certinho.
Resumindo, meu código está assim:
function on_exit()
{
echo "Recebi $1"
kill -USR2 $1
}; export -f on_exit;
menus="..." #omiti para limpeza
yad --separator="#" --notification --menu="$menus" --command='bash -c "kill
-USR2 $YAD_PID"' &