The standard call is select(). Do a "man 2 select". It's a little difficult to understand at first, and maybe you have only one file descriptor to wait on, so you can do a man on poll(), but it's not portable to older UNIX's. Here, you can do:
This will return at the latest every second (unless your process is pushed out due to other processes -- Linux isn't realtime) and whether or not you have something to do depends on the last field in pollfd_list.
Hi..,
my dout is a solaris server is having 16 cpu's.
in tht one cpu running some error process, accupaying more space.
I wanna down tht particular CPU only with out interrupting the other 15
CPU's. how can i do this. is there any command for this ?? (5 Replies)
hi,
i want to know cpu utilizatiion per process per cpu..for single processor also if multicore in linux ..to use these values in shell script to kill processes exceeding cpu utilization.ps (pcpu) command does not give exact values..top does not give persistant values..psstat,vmstat..does njot... (3 Replies)
Hello Friends,
On one of my Solaris 10 box, CPU usage shows 100% using "sar", "vmstat". However, it has 4 CPUs and prstat and glance are not showing enough processes to justify high CPU utilization.
=========================================================================
$ prstat -a
... (4 Replies)
Hi All,
I wrote one simple for loop shell script which prints number..but this loop is infinite...but its taking lot of CPU (15.7) %. if i am using sleep cmd then cpu usage become 0.4 %. Is there anyway to reduce this CPU usage without using sleep cmd?
i dont want 2 use sleep cmd... (7 Replies)
Hi,
I am a weblogic Admin
I our env there are 5 servers running in one Solaris 10 Sparc machine.
But when i tried for process status using <top> command
I got the following output
load averages: 1.75, 2.18, 2.12; up 134+08:28:49
22:24:21
79 processes: 77 sleeping, 1 running,... (1 Reply)
We have a single threaded application which is restricted by CPU usage even though there are multiple CPUs on the server, hence leading to significant performance issues. Is it possible to merge / combine multiple CPUs at OS level so it appear as a single CPU for the application? (6 Replies)
Hi All,
It may be a n00b question, but i really want to know , How Entitled Capacity is less and Used CPU is more when there is no Free CPU is available in the managed system.
I have 5LPARs in a MS with Dual VIO.
Managed System CPU details
Available: 0.20
Assigned to partitions: 15.80... (11 Replies)
I read that Entitlement CPU should be set to max 75% compare to Virtual CPU. May I know the reason.
I have set the Entitlement CPU = Virtual CPU on AIX . It works fine .
Can you help to understand. (1 Reply)
Discussion started by: gabhanes
1 Replies
LEARN ABOUT FREEBSD
pcap_get_selectable_fd
PCAP_GET_SELECTABLE_FD(3) Library Functions Manual PCAP_GET_SELECTABLE_FD(3)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(3), select(2), poll(2)
22 July 2011 PCAP_GET_SELECTABLE_FD(3)