FWIW - Is there some logical reason why you cannot directly observe the 3 files you want instead of all of this other indirect logic.
This has a timed loop that returns an error after one hour of waiting.
It also polls the files once every 10 seconds, and emails okay or failure
Code:
#!/bin/bash
# file: poll.sh
cnt=0
now=$( date +%s ) # time in epoch seconds
when=$(( $now + 86400 )) # we will only wait 1 hour then produce an error
while [ $cnt -le 3 ]
do
if [ $( date +%s ) -gt $when ]; then
echo 'Timed out: failure to find files' |
mailx -s 'poll.sh failed' mohan@somewhere.com
exit 1
fi
cnt=`ls -1 PASSIVE_XXX_? | wc -l` # cnt will be at least 3 in order to end loop
sleep 10 # wait 10 seconds before trying again.
done
echo 'All files found' | mailx -s 'poll.sh okay' mohan@somewhere.com
exit 0
usage:
Code:
/path/to/poll.sh
This is somewhat verbose but it shows exactly what you need to do. Ignoring the likelihood that the filenames (PASSIVE*) are not as you presented them.
Hi,
Can you please help me in implementing a timer based polling for function in C? ie. the function should be called in say 30secs(when 30secs has lapsed).
Thanks (7 Replies)
Hi,
I'm after a bit of advice for the best way to collect files from an ftp server via a unix process. The main issue here is the frequency, the job needs to check for files every minute or so between 8am and 8pm and pull them down to the box if there is anything there.
Originally the... (6 Replies)
Hi all,
I have a directory where some process is keeping incremental/new log files. I need to code a program which will periodically poll this directory and if it founds a new file arrived then copy that new file to some other specific directory.
We are OK with this polling approach. I just... (3 Replies)
Hi,
My os is sun solaris 5.10 and Korn shell scripting.
I have a file name like CCNA_EARLY_SWP.w062309
where 062309 is date in mmddyy .This is the value date of the file.(will
I need to check continously from 5.00 - 7.00 am daily for this file .
If the file has not come at 5 am or 7am... (4 Replies)
I plan to run a script which will run in background and at predefined times send mails to user . I dont have acees to autosys/ Cron / at jobs
My loop works like this
while (true)
do
getx_time=`date +%H%M`
if ; then
script1.sh
mail_sent_flag=1
elif ; then
script2.sh... (1 Reply)
Hi!
Im trying to make a program that polls a mysqlDB every 5 minutes.
the poll checks a scheduletable in the dB and exicutes a function if
there was a "go" in the scheduletable, and if it retrives a "no go" from the table
it should just wait for another 5 minutes before re polling the DB,
... (1 Reply)
I am polling a file on remote host. I have this code that works, but can't explain why it works.
while user@remote.no-exist.com 'ls /user/app1/.done'` ]
do
echo Sleeping for 5 secs
sleep 5;
done
This code works in the way that when the .done file exists on the remote host, the script... (1 Reply)
Hi Guys,
we are planning to enable polling target on our SG in reference to this link
MC/ServiceGuard: Subnet Goes Down when one of the Cluster Node is Down - HP Customer Care (United States - English)
since our server is already in production can we apply the changes with ex. "cmapplyconf... (1 Reply)
Discussion started by: batas
1 Replies
LEARN ABOUT SUSE
pcap_get_selectable_fd
PCAP_GET_SELECTABLE_FD(3PCAP)PCAP_GET_SELECTABLE_FD(3PCAP)NAME
pcap_get_selectable_fd - get a file descriptor on which a select() can be done for a live capture
SYNOPSIS
#include <pcap/pcap.h>
int pcap_get_selectable_fd(pcap_t *p);
DESCRIPTION
pcap_get_selectable_fd() returns, on UNIX, a file descriptor number for a file descriptor on which one can do a select() or poll() to wait
for it to be possible to read packets without blocking, if such a descriptor exists, or -1, if no such descriptor exists. Some network
devices opened with pcap_create() and pcap_activate(), or with pcap_open_live(), do not support select() or poll() (for example, regular
network devices on FreeBSD 4.3 and 4.4, and Endace DAG devices), so -1 is returned for those devices.
Note that in:
FreeBSD prior to FreeBSD 4.6;
NetBSD prior to NetBSD 3.0;
OpenBSD prior to OpenBSD 2.4;
Mac OS X prior to Mac OS X 10.7;
select() and poll() do not work correctly on BPF devices; pcap_get_selectable_fd() will return a file descriptor on most of those versions
(the exceptions being FreeBSD 4.3 and 4.4), but a simple select() or poll() will not indicate that the descriptor is readable until a full
buffer's worth of packets is received, even if the read timeout expires before then. To work around this, an application that uses
select() or poll() to wait for packets to arrive must put the pcap_t in non-blocking mode, and must arrange that the select() or poll()
have a timeout less than or equal to the read timeout, and must try to read packets after that timeout expires, regardless of whether
select() or poll() indicated that the file descriptor for the pcap_t is ready to be read or not. (That workaround will not work in FreeBSD
4.3 and later; however, in FreeBSD 4.6 and later, select() and poll() work correctly on BPF devices, so the workaround isn't necessary,
although it does no harm.)
Note also that poll() doesn't work on character special files, including BPF devices, in Mac OS X 10.4 and 10.5, so, while select() can be
used on the descriptor returned by pcap_get_selectable_fd(), poll() cannot be used on it those versions of Mac OS X. Kqueues also don't
work on that descriptor. poll(), but not kqueues, work on that descriptor in Mac OS X releases prior to 10.4; poll() and kqueues work on
that descriptor in Mac OS X 10.6 and later.
pcap_get_selectable_fd() is not available on Windows.
RETURN VALUE
A selectable file descriptor is returned if one exists; otherwise, -1 is returned.
SEE ALSO pcap(3PCAP), select(2), poll(2)
5 April 2008 PCAP_GET_SELECTABLE_FD(3PCAP)