Re: NetworkManager-dispatcher killing my scripts
- From: Jeff Sadowski <jeff sadowski gmail com>
- To: Dan Williams <dcbw redhat com>
- Cc: networkmanager-list gnome org
- Subject: Re: NetworkManager-dispatcher killing my scripts
- Date: Tue, 30 Jul 2013 14:40:03 -0600
Found a work around sending the task to "at now" completed it.
The following counts all the way to 24
<-------start of /etc/NetworkManager/
dispatcher.d/99-test script
#!/bin/bash
test()
{
x=0
while [ ${x} -lt 25 ];do
sleep 1
echo ${x} > /tmp/test
let x=${x}+1
done
}
if [ "$1" = "test" ];then
test
else
echo "$0 test" | at now
fi
<------end of script
On Tue, Jul 30, 2013 at 2:04 PM, Jeff Sadowski <jeff sadowski gmail com> wrote:
I tried having it recall itself as follows but it is still getting
killed now after 9 seconds.
updated script
<-------start of /etc/NetworkManager/dispatcher.d/99-test script
#!/bin/bash
test()
{
x=0
while [ ${x} -lt 25 ];do
sleep 1
echo ${x} > /tmp/test
let x=${x}+1
done
}
if [ "$1" = "test" ];then
test
else
exec /bin/bash -c "$0 test" &
fi
<------end of script
On Mon, Jul 29, 2013 at 10:51 PM, Dan Williams <dcbw redhat com> wrote:
On Mon, 2013-07-29 at 22:35 -0600, Jeff Sadowski wrote:
Is there any way to have it launch maybe another script that can take
as long as it needs?
I thought putting the script in the background would allow it to run
till finished but it is still getting killed.
You might be able to get around it if you exec a second script; the
dispatcher only kills the PID that it originally spawned.
Dan
On Mon, Jul 29, 2013 at 10:21 PM, Dan Williams <dcbw redhat com> wrote:
On Mon, 2013-07-29 at 09:35 -0600, Jeff Sadowski wrote:
I created a simple script to show my problem.
<-------start of /etc/NetworkManager/dispatcher.d/99-test script
test()
{
x=0
while [ ${x} -lt 25 ];do
sleep 1
echo ${x} > /tmp/test
let x=${x}+1
done
}
test &
<------end of script
the script gets killed after 8 seconds ie:
cat /tmp/test
8
I don't see any error messages in /var/log/message pertaining to it.
Is there a way to get my script to not get killed?
Maybe a way to externally call my script using dispatcher?
Scripts actually get 3 seconds to complete. They aren't currently
expected to run for long, especially on network disconnection, because
the network is already gone. You can run the dispatcher with debug mode
like:
/usr/libexec/nm-dispatcher.action --debug --persist
The daemon currently doesn't block waiting on scripts, but there have
been discussions to make it do so. Which would make this problem even
more acute, since network changes could block on long-running scripts.
Dan
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]