DOSSIER
Processes FreeBSD Rich Morin, Editor
Documenting Open Source Software for Industry, Education, and Research
Prime Time Freeware www.ptf.com
What? DOSSIER (Documenting Open Source Software for Industry, Education, and Research) is a series of ‘‘document collections’’ on various topics related to Free and Open Source software. Why? Although most of the documents we print are readily available, they can take a great deal of time to locate, format, and print. By publishing the documentation in edited collections, we make it easier to acquire and more convenient to use. Who? The DOSSIER series is the brainchild of Rich Morin (
[email protected]), the proprietor of Prime Time Freeware. Rich is thus responsible for its general direction, infrastructure, and policies. Individual volumes or sets, however, may be edited by others (contact Rich if you are interested in editing a collection!). More generally, we value the advice and support of the Free and Open Source software communities. When? DOSSIER volumes are updated continuously and printed on demand. See below for the month and year that this DOSSIER volume was last edited. Which? Given our practice of continuous updates, conventional ‘‘edition’’ and ‘‘printing’’ designations are rather inappropriate. So, like the software packages we track, we use ‘‘version’’ numbers. Note, however, that DOSSIER version numbers bear no relationship at all to the version number of any given package! Where? Our products are sold over the Internet (www.ptf.com/dossier) and printed on demand. Because our collections do not sit in distributors’ warehouses or on bookstore shelves, you get the very latest information we can offer. How? Using a mixture of Perl, PostScript, TeX, Troff, XML, and useful utilities (e.g., A2PS, Adobe Distiller, ptx), we format gazillions of documents into collections. We then send the electronic images to service bureaus for printing, binding, and order fulfillment. Etc. Portions of this distribution are Copyright © 2001-2002, Prime Time Freeware, San Bruno, CA. Some Rights Reserved; see the Preface for details. Many Free and Open Source packages are copyrighted; see the individual packages for details. Cover design by Rich Morin, with help from Adam Betts of The Bettsbro., Inc. (www.thebettsbro.com). ‘‘Book Wyrme’’ (front cover) and ‘‘Quiet Hour’’ (back cover) used by permission of Delight Prescott (www.delightsfantasyart.com). Printed by Corporate Disk Company (www.disk.com). Prime Time Freeware www.ptf.com
[email protected] DOSSIER: Processes – FreeBSD
Version 1.0.1; April 2002 (Proc_FrB_1.0.1_7)
Table of Contents Permuted Index
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Preface .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. xxxiii
Manual Pages, Section 1 (general commands)
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1
.
.
intro(1:FreeBSD) introduction to general commands (tools and utilities) at(1:FreeBSD) queue, examine or delete jobs for later execution
xv
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
2
crontab(1:FreeBSD) maintain crontab files for individual users (V3) .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
4
gcore(1:FreeBSD) get core images of running process
atq(1:FreeBSD) – see at atrm(1:FreeBSD) – see at batch(1:FreeBSD) – see at
gprof(1:FreeBSD) display call graph profile data
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
5
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
6
.
.
.
.
.
.
.
9
idprio(1:FreeBSD) – see rtprio ipcrm(1:FreeBSD) remove the specified message queues, semaphore sets, and shared segments ipcs(1:FreeBSD) report System V interprocess communication facilities status
.
.
.
.
.
.
.
.
.
.
.
.
10
kdump(1:FreeBSD) display kernel trace data .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
12
kill(1:FreeBSD) terminate or signal a process .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
13
killall(1:FreeBSD) kill processes by name .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
15
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
17
limits(1:FreeBSD) set or display process resource limits .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
19
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
22
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
23
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
24
rtprio(1:FreeBSD) execute, examine or modify a utility’s or process’s realtime or idletime scheduling priority .
.
.
29
.
ktrace(1:FreeBSD) enable kernel process tracing
lockf(1:FreeBSD) execute a command while holding a file lock nice(1:FreeBSD) execute a command at a low scheduling priority ps(1:FreeBSD) process status .
.
.
.
.
.
.
.
.
.
.
iii
sleep(1:FreeBSD) suspend execution for an interval of time .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
31
sockstat(1:FreeBSD) list open sockets . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
33
.
.
.
.
.
.
.
.
.
.
.
.
.
.
34
top(1:FreeBSD) display and update information about the top cpu processes .
.
.
.
.
.
.
.
.
.
.
.
.
37
truss(1:FreeBSD) trace system calls . .
.
.
.
.
.
strip(1:FreeBSD) remove unnecessary information from executable files
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
41
w(1:FreeBSD) display who is logged in and what they are doing .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
42
uptime(1:FreeBSD) show how long system has been running .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
44
Manual Pages, Section 2 (system calls and error numbers) .
.
.
.
.
.
.
.
.
.
.
.
.
45
intro(2:FreeBSD) introduction to system calls and error numbers .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
45
_exit(2:FreeBSD) terminate the calling process
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
53
accept(2:FreeBSD) accept a connection on a socket .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
54
acct(2:FreeBSD) enable or disable process accounting .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
56
bind(2:FreeBSD) assign a local protocol address to a socket
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
58
connect(2:FreeBSD) initiate a connection on a socket
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
60
execve(2:FreeBSD) execute a file . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
62
fork(2:FreeBSD) create a new process .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
65
getegid(2:FreeBSD) – see getgid getgid(2:FreeBSD) get group process identification .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
67
getpgrp(2:FreeBSD) get process group . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
68
getpid(2:FreeBSD) get parent or calling process identification
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
70
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
71
.
.
getppid(2:FreeBSD) – see getpid getpriority(2:FreeBSD) get/set program scheduling priority getsid(2:FreeBSD)
iv
.
.
get process session .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
72
getsockname(2:FreeBSD) get socket name . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
73
getsockopt(2:FreeBSD) get and set options on sockets
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
74
i386_get_ioperm(2:FreeBSD) manage per-process access to the i386 I/O port space .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
78
i386_get_ldt(2:FreeBSD) manage i386 per-process Local Descriptor Table entries .
.
.
.
.
.
.
.
.
.
.
.
.
.
79
i386_set_ioperm(2:FreeBSD) – see i386_get_ioperm i386_set_ldt(2:FreeBSD) – see i386_get_ldt issetugid(2:FreeBSD) is current process tainted by uid or gid changes .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
80
jail(2:FreeBSD) imprison current process and future decendants .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
81
kill(2:FreeBSD) send signal to a process
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
83
killpg(2:FreeBSD) send signal to a process group .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
85
ktrace(2:FreeBSD) process tracing . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
86
listen(2:FreeBSD) listen for connections on a socket .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
88
madvise(2:FreeBSD) give advice about use of memory .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
89
mincore(2:FreeBSD) get advice about use of memory
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
91
mlock(2:FreeBSD) lock (unlock) physical pages in memory .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
92
mmap(2:FreeBSD) map files or devices into memory .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
94
mprotect(2:FreeBSD) control the protection of pages .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
97
msync(2:FreeBSD) synchronize a mapped region
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
98
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
99
nanosleep(2:FreeBSD) suspend process execution for an interval measured in nanoseconds
.
.
.
.
.
.
.
.
.
.
100
pipe(2:FreeBSD) create descriptor pair for interprocess communication .
.
.
.
.
.
.
.
.
.
.
101
.
.
.
.
.
.
munlock(2:FreeBSD) – see mlock munmap(2:FreeBSD) remove a mapping . .
.
.
.
.
.
.
.
.
profil(2:FreeBSD)
v
control process profiling .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
102
ptrace(2:FreeBSD) process tracing and debugging .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
104
recv(2:FreeBSD) receive a message from a socket
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
107
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
110
rtprio(2:FreeBSD) examine or modify a process realtime or idle priority .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
112
sched_get_priority_max(2:FreeBSD) get scheduling parameter limits . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
114
recvfrom(2:FreeBSD) – see recv recvmsg(2:FreeBSD) – see recv rfork(2:FreeBSD) manipulate process resources
.
.
.
.
sched_get_priority_min(2:FreeBSD) – see sched_get_priority_max sched_getparam(2:FreeBSD) – see sched_setparam sched_getscheduler(2:FreeBSD) – see sched_setscheduler sched_rr_get_interval(2:FreeBSD) – see sched_get_priority_max sched_setparam(2:FreeBSD) set/get scheduling parameters . .
.
.
.
.
.
sched_setscheduler(2:FreeBSD) set/get scheduling policy and scheduler parameters
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
116
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
118
sched_yield(2:FreeBSD) yield processor . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
120
send(2:FreeBSD) send a message from a socket
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
121
sendfile(2:FreeBSD) send a file to a socket . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
123
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
125
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
126
.
sendmsg(2:FreeBSD) – see send sendto(2:FreeBSD) – see send setpgid(2:FreeBSD) set process group . . .
.
.
.
setpgrp(2:FreeBSD) – see setpgid setpriority(2:FreeBSD) – see getpriority setsid(2:FreeBSD) create session and set process group ID .
.
.
setsockopt(2:FreeBSD) – see getsockopt shmat(2:FreeBSD) attach or detach shared memory shmctl(2:FreeBSD) shared memory control
.
.
.
shmdt(2:FreeBSD) – see shmat
vi
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
127
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
128
shmget(2:FreeBSD) obtain a shared memory identifier .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
130
sigaction(2:FreeBSD) software signal facilities . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
132
sigaltstack(2:FreeBSD) set and/or get signal stack context .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
137
sigblock(2:FreeBSD) block signals . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
139
sigpause(2:FreeBSD) atomically release blocked signals and wait for interrupt .
.
.
.
.
.
.
.
.
.
.
.
.
.
140
sigpending(2:FreeBSD) get pending signals . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
141
sigprocmask(2:FreeBSD) manipulate current signal mask .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
142
sigreturn(2:FreeBSD) return from signal . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
143
sigsetmask(2:FreeBSD) set current signal mask . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
145
sigstack(2:FreeBSD) set and/or get signal stack context .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
146
sigsuspend(2:FreeBSD) atomically release blocked signals and wait for interrupt .
.
.
.
.
.
.
.
.
.
.
.
.
.
147
sigvec(2:FreeBSD) software signal facilities .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
148
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
151
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
154
vfork(2:FreeBSD) spawn new process in a virtual memory efficient way .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
155
wait(2:FreeBSD) wait for process termination .
socket(2:FreeBSD) create an endpoint for communication socketpair(2:FreeBSD) create a pair of connected sockets .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
156
Manual Pages, Section 3 (C libraries) .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
159
intro(3:FreeBSD) introduction to the C libraries
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
159
alarm(3:FreeBSD) set signal timer alarm .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
160
alloca(3:FreeBSD) memory allocator . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
161
wait3(2:FreeBSD) – see wait wait4(2:FreeBSD) – see wait waitpid(2:FreeBSD) – see wait
vii
bindresvport(3:FreeBSD) bind a socket to a privileged IP port
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
162
bindresvport_sa(3:FreeBSD) – see bindresvport calloc(3:FreeBSD) – see malloc cfree(3:FreeBSD) free up allocated memory
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
164
clock(3:FreeBSD) determine processor time used .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
165
dllockinit(3:FreeBSD) register thread locking methods with the dynamic linker .
.
.
.
.
.
.
.
.
.
.
.
.
.
166
execl(3:FreeBSD) execute a file . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
167
ftok(3:FreeBSD) create IPC identifier from path name .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
169
kvm(3:FreeBSD) kernel memory interface .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
170
execle(3:FreeBSD) – see execl execlp(3:FreeBSD) – see execl exect(3:FreeBSD) – see execl execv(3:FreeBSD) – see execl execvp(3:FreeBSD) – see execl free(3:FreeBSD) – see malloc
.
.
.
.
kvm_close(3:FreeBSD) – see kvm_open kvm_getargv(3:FreeBSD) – see kvm_getprocs kvm_getenvv(3:FreeBSD) – see kvm_getprocs kvm_getprocs(3:FreeBSD) access user process state . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
171
kvm_open(3:FreeBSD) initialize kernel virtual memory access
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
173
kvm_openfiles(3:FreeBSD) – see kvm_open kvm_read(3:FreeBSD) read or write kernel virtual memory
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
175
malloc(3:FreeBSD) general purpose memory allocation functions
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
176
memcluster(3:FreeBSD) memory allocation/deallocation system .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
180
kvm_write(3:FreeBSD) – see kvm_read
.
memget(3:FreeBSD) – see memcluster meminit(3:FreeBSD) – see memcluster memput(3:FreeBSD) – see memcluster
viii
memstats(3:FreeBSD) – see memcluster moncontrol(3:FreeBSD) control execution profile . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
183
monstartup(3:FreeBSD) – see moncontrol mpool(3:FreeBSD) shared memory buffer pool .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
184
nice(3:FreeBSD) set program scheduling priority .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
186
nlist(3:FreeBSD) retrieve symbol table name list from an executable file
.
.
.
.
.
.
.
.
.
.
.
.
.
.
187
pause(3:FreeBSD) stop until signal . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
188
pclose(3:FreeBSD) – see popen popen(3:FreeBSD) process I/O . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
189
psignal(3:FreeBSD) system signal messages .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
191
pthread(3:FreeBSD) POSIX thread functions .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
192
pthread_attr_init(3:FreeBSD) thread attribute operations . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
197
pthread_attr_destroy(3:FreeBSD) – see pthread_attr_init pthread_attr_getdetachstate(3:FreeBSD) – see pthread_attr_init pthread_attr_getinheritsched(3:FreeBSD) – see pthread_attr_init pthread_attr_getschedparam(3:FreeBSD) – see pthread_attr_init pthread_attr_getschedpolicy(3:FreeBSD) – see pthread_attr_init pthread_attr_getscope(3:FreeBSD) – see pthread_attr_init pthread_attr_getstackaddr(3:FreeBSD) – see pthread_attr_init pthread_attr_getstacksize(3:FreeBSD) – see pthread_attr_init pthread_attr_setdetachstate(3:FreeBSD) – see pthread_attr_init pthread_attr_setinheritsched(3:FreeBSD) – see pthread_attr_init pthread_attr_setschedparam(3:FreeBSD) – see pthread_attr_init pthread_attr_setschedpolicy(3:FreeBSD) – see pthread_attr_init pthread_attr_setscope(3:FreeBSD) – see pthread_attr_init pthread_attr_setstackaddr(3:FreeBSD) – see pthread_attr_init pthread_attr_setstacksize(3:FreeBSD) – see pthread_attr_init pthread_cancel(3:FreeBSD) cancel execution of a thread . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
200
pthread_cleanup_pop(3:FreeBSD) call the first cleanup routine . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
201
ix
pthread_cleanup_push(3:FreeBSD) add a cleanup function for thread exit . . .
.
.
pthread_cond_broadcast(3:FreeBSD) unblock all threads waiting for a condition variable
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
202
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
203
pthread_cond_destroy(3:FreeBSD) destroy a condition variable . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
204
pthread_cond_init(3:FreeBSD) create a condition variable . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
205
pthread_cond_signal(3:FreeBSD) unblock a thread waiting for a condition variable .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
206
.
.
.
.
.
.
.
.
.
.
.
.
.
207
.
.
.
.
.
.
.
.
.
.
.
.
.
208
.
.
pthread_cond_timedwait(3:FreeBSD) wait on a condition variable for a specific amount of time pthread_cond_wait(3:FreeBSD) wait on a condition variable . . . .
.
.
.
.
.
.
pthread_condattr_destroy(3:FreeBSD) – see pthread_condattr_init pthread_condattr_init(3:FreeBSD) condition attribute operations . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
209
pthread_create(3:FreeBSD) create a new thread . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
210
pthread_detach(3:FreeBSD) detach a thread . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
211
pthread_equal(3:FreeBSD) compare thread IDs . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
212
pthread_exit(3:FreeBSD) terminate the calling thread . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
213
pthread_getschedparam(3:FreeBSD) – see pthread_setschedparam pthread_getspecific(3:FreeBSD) get a thread-specific data value . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
214
pthread_join(3:FreeBSD) wait for thread termination . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
215
pthread_key_create(3:FreeBSD) thread-specific data key creation . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
216
pthread_key_delete(3:FreeBSD) delete a thread-specific data key . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
217
pthread_kill(3:FreeBSD) send a signal to a specified thread .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
218
pthread_mutex_destroy(3:FreeBSD) free resources allocated for a mutex . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
219
pthread_mutex_init(3:FreeBSD) create a mutex . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
220
pthread_mutex_lock(3:FreeBSD) lock a mutex . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
221
.
.
.
.
pthread_mutex_trylock(3:FreeBSD)
x
attempt to lock a mutex without blocking
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
222
pthread_mutex_unlock(3:FreeBSD) unlock a mutex . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
223
.
.
.
224
pthread_mutexattr_destroy(3:FreeBSD) – see pthread_mutexattr_init pthread_mutexattr_getprioceiling(3:FreeBSD) – see pthread_mutexattr_init pthread_mutexattr_getprotocol(3:FreeBSD) – see pthread_mutexattr_init pthread_mutexattr_gettype(3:FreeBSD) – see pthread_mutexattr_init pthread_mutexattr_init(3:FreeBSD) mutex attribute operations . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
pthread_mutexattr_setprioceiling(3:FreeBSD) – see pthread_mutexattr_init pthread_mutexattr_setprotocol(3:FreeBSD) – see pthread_mutexattr_init pthread_mutexattr_settype(3:FreeBSD) – see pthread_mutexattr_init pthread_once(3:FreeBSD) dynamic package initialization .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
226
pthread_rwlock_destroy(3:FreeBSD) destroy a read/write lock . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
227
pthread_rwlock_init(3:FreeBSD) initialize a read/write lock . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
228
pthread_rwlock_rdlock(3:FreeBSD) acquire a read/write lock for reading . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
229
pthread_rwlock_tryrdlock(3:FreeBSD) – see pthread_rwlock_rdlock pthread_rwlock_trywrlock(3:FreeBSD) – see pthread_rwlock_wrlock pthread_rwlock_unlock(3:FreeBSD) release a read/write lock . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
231
pthread_rwlock_wrlock(3:FreeBSD) acquire a read/write lock for writing . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
232
pthread_rwlockattr_destroy(3:FreeBSD) destroy a read/write lock . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
233
pthread_rwlockattr_getpshared(3:FreeBSD) get the process shared attribute . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
234
pthread_rwlockattr_init(3:FreeBSD) initialize a read/write lock . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
235
pthread_rwlockattr_setpshared(3:FreeBSD) set the process shared attribute . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
236
pthread_self(3:FreeBSD) get the calling thread’s ID . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
237
pthread_setcancelstate(3:FreeBSD) set cancelability state . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
238
xi
pthread_setcanceltype(3:FreeBSD) – see pthread_setcancelstate pthread_testcancel(3:FreeBSD) – see pthread_setcancelstate pthread_setschedparam(3:FreeBSD) thread scheduling parameter manipulation .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
240
pthread_setspecific(3:FreeBSD) set a thread-specific data value . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
241
pthread_sigmask(3:FreeBSD) examine and/or change a thread’s signal mask .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
242
raise(3:FreeBSD) send a signal to the current process
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
243
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
244
shm_open(3:FreeBSD) open or create a shared memory object
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
245
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
247
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
248
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
249
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
250
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
253
sleep(3:FreeBSD) suspend process execution for an interval measured in seconds .
.
.
.
.
.
.
.
.
.
.
.
254
realloc(3:FreeBSD) – see malloc reallocf(3:FreeBSD) – see malloc setproctitle(3:FreeBSD) set the process title for ps(1) .
.
shm_unlink(3:FreeBSD) – see shm_open ualarm(3:FreeBSD) schedule signal after specified time
.
.
.
sigaddset(3:FreeBSD) – see sigemptyset sigdelset(3:FreeBSD) – see sigemptyset sigemptyset(3:FreeBSD) manipulate signal sets . . .
.
.
.
.
.
.
sigfillset(3:FreeBSD) – see sigemptyset siginterrupt(3:FreeBSD) allow signals to interrupt system calls .
.
.
.
.
sigismember(3:FreeBSD) – see sigemptyset signal(3:FreeBSD) simplified software signal facilities
.
.
.
.
sigsetops(3:FreeBSD) – see sigemptyset sigwait(3:FreeBSD) select a set of signals . .
.
.
.
.
.
.
.
strsignal(3:FreeBSD) – see psignal sys_siglist(3:FreeBSD) – see psignal sys_signame(3:FreeBSD) – see psignal system(3:FreeBSD) pass a command to the shell .
xii
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
255
tcgetpgrp(3:FreeBSD) get foreground process group ID
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
256
tcsetpgrp(3:FreeBSD) set foreground process group ID
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
257
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
258
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
259
usleep(3:FreeBSD) suspend process execution for an interval measured in microseconds .
.
.
.
.
.
.
.
.
.
260
valloc(3:FreeBSD) aligned memory allocation function
times(3:FreeBSD) process times . . .
.
.
.
ualarm(3:FreeBSD) schedule signal after specified time
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
261
Manual Pages, Section 4 (devices and device drivers) .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
263
intro(4:FreeBSD) introduction to devices and device drivers
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
263
ng_ksocket(4:FreeBSD) kernel socket netgraph node type
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
265
ng_socket(4:FreeBSD) netgraph socket node type .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
267
Manual Pages, Section 5 (file formats) .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
269
intro(5:FreeBSD) introduction to file formats .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
269
a.out(5:FreeBSD) format of executable binary files
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
270
acct(5:FreeBSD) execution accounting file .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
275
core(5:FreeBSD) memory image file format
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
277
crontab(5:FreeBSD) tables for driving cron . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
278
elf(5:FreeBSD) format of ELF executable binary files .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
281
linprocfs(5:FreeBSD) Linux process file system . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
294
procfs(5:FreeBSD) process file system . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
295
Manual Pages, Section 8 (system maintenance and operation commands) .
.
.
.
.
.
.
.
299
intro(8:FreeBSD) introduction to system maintenance and operation commands .
.
.
.
.
.
.
.
.
.
.
.
299
atrun(8:FreeBSD) run jobs queued for later execution .
.
.
.
.
.
.
.
.
.
.
.
300
.
.
.
.
.
.
.
.
.
.
.
xiii
cron(8:FreeBSD) daemon to execute scheduled commands (Vixie Cron) init(8:FreeBSD) process control initialization .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
301
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
303
jail(8:FreeBSD) imprison process and its descendants .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
306
memcontrol(8:FreeBSD) Control system cache behaviour with respect to memory .
.
.
.
.
.
.
.
.
.
.
.
.
.
310
renice(8:FreeBSD) alter priority of running processes .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
312
sa(8:FreeBSD) print system accounting statistics .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
313
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
316
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
317
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
321
savecore(8:FreeBSD) save a core dump of the operating system vmstat(8:FreeBSD) report virtual memory statistics .
.
.
.
Manual Pages, Section 9 (system kernel interfaces) intro(9:FreeBSD) introduction to system kernel interfaces .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
321
at_fork(9:FreeBSD) ask that a function be run at fork
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
322
.
.
.
cpu_switch(9:FreeBSD) – see mi_switch gsignal(9:FreeBSD) – see psignal kernacc(9:FreeBSD) check memory regions for accessibility .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
323
mi_switch(9:FreeBSD) switch to another process context .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
324
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
325
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
326
.
.
pgsignal(9:FreeBSD) – see psignal psignal(9:FreeBSD) post signal to a process or process group .
rm_at_fork(9:FreeBSD) – see at_fork useracc(9:FreeBSD) – see kernacc vslock(9:FreeBSD) lock/unlock user space addresses in memory vsunlock(9:FreeBSD) – see vslock .
xiv
.
Permuted Index accept(2:F) i386_get_ioperm(2:F) kvm_getprocs(3:F) kvm_open(3:F) kernacc(9:F) acct(2:F) acct(5:F) sa(8:F) pthread_rwlock_rdlock(3:F) pthread_rwlock_wrlock(3:F) pthread_cleanup_push(3:F) bind(2:F) vslock(9:F) madvise(2:F) mincore(2:F) ualarm(3:F) ualarm(3:F) alarm(3:F) valloc(3:F) cfree(3:F) pthread_mutex_destroy(3:F) malloc(3:F) memcluster(3:F) valloc(3:F) alloca(3:F) siginterrupt(3:F) renice(8:F) pthread_cond_timedwait(3:F) at_fork(9:F) bind(2:F) sigpause(2:F) sigsuspend(2:F) shmat(2:F) pthread_mutex_trylock(3:F) pthread_attr_destroy(3:F) pthread_attr_getdetachstate(3:F) pthread_attr_getinheritsched(3:F) pthread_attr_getschedparam(3:F) pthread_attr_getschedpolicy(3:F) pthread_attr_getscope(3:F) pthread_attr_getstackaddr(3:F) pthread_attr_getstacksize(3:F) pthread_attr_setdetachstate(3:F) pthread_attr_setinheritsched(3:F) pthread_attr_setschedparam(3:F) pthread_attr_setschedpolicy(3:F) pthread_attr_setscope(3:F) pthread_attr_setstackaddr(3:F) pthread_attr_setstacksize(3:F) pthread_attr_init(3:F) pthread_condattr_init(3:F) pthread_mutexattr_init(3:F)
socket
- manage per-process state kernel virtual memory memory regions for or disable process - execution - print system lock for reading lock for writing for thread exit /a local protocol //unlock user space memory - give memory - get - schedule signal - schedule signal - set signal timer allocation/ - free up - free resources /purpose memory system - memory - aligned memory - memory interrupt system/ running/ /for a specific run at fork address to a/ blocked signals/ blocked signals/ memory without blocking - see pthread_ - see pthread_ - see pthread_ - see pthread_ - see pthread_ - see pthread_ - see pthread_ - see pthread_ - see pthread_ - see pthread_ - see pthread_ - see pthread_ - see pthread_ - see pthread_ - see pthread_ - thread - condition - mutex
accept a connection on a access to the i386 I/O/ access user process access accessibility accounting accounting file accounting statistics acquire a read/write acquire a read/write add a cleanup function address to a socket addresses in memory advice about use of advice about use of after specified time after specified time alarm aligned memory allocated memory allocated for a mutex allocation functions allocation/deallocation allocation function allocator allow signals to alter priority of amount of time ask that a function be assign a local protocol atomically release atomically release attach or detach shared attempt to lock a mutex attr_init attr_init attr_init attr_init attr_init attr_init attr_init attr_init attr_init attr_init attr_init attr_init attr_init attr_init attr_init attribute operations attribute operations attribute operations
xv
pthread_rwlockattr_getpshared(3:F) pthread_rwlockattr_setpshared(3:F) memcontrol(8:F) a.out(5:F) elf(5:F) bindresvport(3:F) bindresvport_sa(3:F) sigblock(2:F) sigpause(2:F) sigsuspend(2:F) pthread_mutex_trylock(3:F) mpool(3:F) intro(3:F) memcontrol(8:F) gprof(1:F) pthread_cleanup_pop(3:F) _exit(2:F) getpid(2:F) pthread_exit(3:F) pthread_self(3:F) truss(1:F) intro(2:F) siginterrupt(3:F) pthread_cancel(3:F) pthread_setcancelstate(3:F) pthread_sigmask(3:F) issetugid(2:F) kernacc(9:F) pthread_cleanup_pop(3:F) pthread_cleanup_push(3:F) lockf(1:F) nice(1:F) system(3:F) intro(1:F) intro(8:F) cron(8:F) ipcs(1:F) pipe(2:F) socket(2:F) pthread_equal(3:F) pthread_condattr_destroy(3:F) pthread_cond_broadcast(3:F) pthread_cond_destroy(3:F) pthread_cond_init(3:F) pthread_cond_signal(3:F) pthread_cond_timedwait(3:F) pthread_cond_wait(3:F) pthread_condattr_init(3:F) socketpair(2:F) accept(2:F) connect(2:F) listen(2:F) sigaltstack(2:F) sigstack(2:F)
xvi
the process shared the process shared /Control system cache format of executable of ELF executable privileged IP/ - see - atomically release - atomically release lock a mutex without - shared memory - introduction to the - Control system - display routine - terminate the - get parent or - terminate the - get the - trace system /to system to interrupt system thread - set - examine and/or tainted by uid or gid accessibility - call the first thread/ - add a file/ - execute a - execute a - pass a /to general and operation /to execute scheduled /System V interprocess /pair for interprocess an endpoint for - see pthread_ threads waiting for a - destroy a - create a thread waiting for a - wait on a - wait on a operations - create a pair of - accept a - initiate a - listen for /or get signal stack /or get signal stack
attribute attribute behaviour with respect/ binary files binary files bind a socket to a bindresvport block signals blocked signals and wait/ blocked signals and wait/ blocking buffer pool C libraries cache behaviour with/ call graph profile data call the first cleanup calling process calling process/ calling thread calling thread’s ID calls calls and error numbers calls cancel execution of a cancelability state change a thread’s signal/ changes check memory regions for cleanup routine cleanup function for command while holding a command at a low/ command to the shell commands (tools and/ commands commands (Vixie Cron) communication facilities/ communication communication compare thread IDs condattr_init condition variable condition variable condition variable condition variable condition variable for a/ condition variable condition attribute connected sockets connection on a socket connection on a socket connections on a socket context context
mi_switch(9:F) mprotect(2:F) profil(2:F) shmctl(2:F) moncontrol(3:F) init(8:F) memcontrol(8:F) gcore(1:F) savecore(8:F) top(1:F) fork(2:F) pipe(2:F) setsid(2:F) socket(2:F) socketpair(2:F) ftok(3:F) pthread_cond_init(3:F) pthread_create(3:F) pthread_mutex_init(3:F) shm_open(3:F) pthread_key_create(3:F) crontab(5:F) cron(8:F) crontab(1:F) cron(8:F) gprof(1:F) kdump(1:F) pthread_getspecific(3:F) pthread_key_create(3:F) pthread_key_delete(3:F) pthread_setspecific(3:F) memcluster(3:F) ptrace(2:F) jail(2:F) at(1:F) pthread_key_delete(3:F) jail(8:F) i386_get_ldt(2:F) pipe(2:F) pthread_cond_destroy(3:F) pthread_rwlock_destroy(3:F) pthread_rwlockattr_destroy(3:F) shmat(2:F) pthread_detach(3:F) clock(3:F) intro(4:F) mmap(2:F) intro(4:F) acct(2:F) gprof(1:F) kdump(1:F) limits(1:F) top(1:F) w(1:F)
to another process - shared memory profile - process behaviour with/ process - get operating/ - save a /about the top for interprocess/ process group ID communication connected/ from path name variable object - open or -specific data key - tables for driving commands (Vixie - maintain scheduled/ call graph profile display kernel trace get a thread-specific - thread-specific a thread-specific set a thread-specific - memory allocation/ - process tracing and process and future - queue, examine or data key process and its /386 per-process Local - create variable lock lock - attach or used /to devices and - map files or - introduction to - enable or profile data data limits - set or information/ and what they/ of pages profiling
context control the protection control process control control execution control initialization Control system cache core images of running core dump of the cpu processes create a new process create descriptor pair create session and set create an endpoint for create a pair of create IPC identifier create a condition create a new thread create a mutex create a shared memory creation cron Cron) crontab files for/ daemon to execute data data data value data key creation data key data value deallocation system debugging decendants delete jobs for later/ delete a thread-specific descendants Descriptor Table entries descriptor pair for/ destroy a condition destroy a read/write destroy a read/write detach shared memory detach a thread determine processor time device drivers devices into memory devices and device/ disable process/ display call graph display kernel trace display process resource display and update display who is logged in
xvii
w(1:F) intro(4:F) crontab(5:F) savecore(8:F) dllockinit(3:F) pthread_once(3:F) vfork(2:F) elf(5:F) ktrace(1:F) acct(2:F) socket(2:F) i386_get_ldt(2:F) intro(2:F) at(1:F) rtprio(1:F) rtprio(2:F) pthread_sigmask(3:F) execle(3:F) execlp(3:F) exect(3:F) execv(3:F) execvp(3:F) strip(1:F) nlist(3:F) a.out(5:F) elf(5:F) lockf(1:F) nice(1:F) rtprio(1:F) execve(2:F) execl(3:F) cron(8:F) at(1:F) sleep(1:F) nanosleep(2:F) moncontrol(3:F) pthread_cancel(3:F) sleep(3:F) usleep(3:F) acct(5:F) atrun(8:F) pthread_cleanup_push(3:F) ipcs(1:F) sigaction(2:F) sigvec(2:F) signal(3:F) lockf(1:F) execve(2:F) sendfile(2:F) execl(3:F) nlist(3:F) intro(5:F) acct(5:F) core(5:F)
xviii
in and what they are to devices and device - tables for - save a core methods with the initialization in a virtual memory files - format of tracing process/ - create an Descriptor Table /to system calls and for later/ - queue, utility/ - execute, process realtime/ thread’s signal/ - see - see - see - see - see /information from name list from an - format of - format of ELF holding a file/ low scheduling/ modify a utility/ - daemon to delete jobs for later interval/ - suspend - suspend process - control - cancel - suspend process - suspend process file jobs queued for later function for thread /communication - software signal - software signal software signal while holding a - execute a - send a - execute a from an executable - introduction to execution accounting - memory image
doing drivers driving cron dump of the operating/ dynamic linker dynamic package efficient way ELF executable binary enable kernel process enable or disable endpoint for/ entries error numbers examine or delete jobs examine or modify a examine or modify a examine and/or change a execl execl execl execl execl executable files executable file executable binary files executable binary files execute a command while execute a command at a execute, examine or execute a file execute a file execute scheduled/ execution execution for an execution for an/ execution profile execution of a thread execution for an/ execution for an/ execution accounting execution exit facilities status facilities facilities facilities file lock file file to a socket file file file formats file file format
linprocfs(5:F) procfs(5:F) crontab(1:F) strip(1:F) mmap(2:F) a.out(5:F) elf(5:F) tcgetpgrp(3:F) tcsetpgrp(3:F) at_fork(9:F) rm_at_fork(9:F) a.out(5:F) core(5:F) elf(5:F) intro(5:F) cfree(3:F) pthread_mutex_destroy(3:F) pthread_cleanup_push(3:F) valloc(3:F) at_fork(9:F) malloc(3:F) pthread(3:F) jail(2:F) intro(1:F) malloc(3:F) getegid(2:F) getppid(2:F) setpriority(2:F) kvm_getargv(3:F) kvm_getenvv(3:F) setsockopt(2:F) issetugid(2:F) madvise(2:F) gprof(1:F) getgid(2:F) getpgrp(2:F) killpg(2:F) setpgid(2:F) setsid(2:F) tcgetpgrp(3:F) tcsetpgrp(3:F) psignal(9:F) uptime(1:F) lockf(1:F) setsid(2:F) pthread_self(3:F) tcgetpgrp(3:F) tcsetpgrp(3:F) getgid(2:F) getpid(2:F) shmget(2:F) ftok(3:F) rtprio(2:F) rtprio(1:F)
- Linux process - process - maintain crontab from executable memory - map of executable binary ELF executable binary ID - get ID - set a function be run at - see at_ binary files - memory image file binary files introduction to file for a mutex - add a cleanup memory allocation - ask that a memory allocation - POSIX thread /current process and - introduction to allocation/ - see - see - see - see kvm_ - see kvm_ - see tainted by uid or memory - display call - get - get process signal to a process - set process and set process foreground process foreground process a process or process show how long system /a command while and set process group the calling thread’s process group process group - get group process or calling process a shared memory name - create IPC a process realtime or process’s realtime or
file system file system files for individual/ files files or devices into files files foreground process group foreground process group fork fork format of executable format format of ELF executable formats free up allocated memory free resources allocated function for thread exit function function be run at fork functions functions future decendants general commands (tools/ general purpose memory getgid getpid getpriority getprocs getprocs getsockopt gid changes give advice about use of graph profile data group process/ group group group group ID group ID group ID group has been running holding a file lock ID ID ID ID identification identification identifier identifier from path idle priority idletime scheduling/
xix
pthread_equal(3:F) core(5:F) gcore(1:F) jail(2:F) jail(8:F) crontab(1:F) strip(1:F) top(1:F) pthread_attr_destroy(3:F) pthread_attr_getdetachstate(3:F) pthread_attr_getinheritsched(3:F) pthread_attr_getschedparam(3:F) pthread_attr_getschedpolicy(3:F) pthread_attr_getscope(3:F) pthread_attr_getstackaddr(3:F) pthread_attr_getstacksize(3:F) pthread_attr_setdetachstate(3:F) pthread_attr_setinheritsched(3:F) pthread_attr_setschedparam(3:F) pthread_attr_setschedpolicy(3:F) pthread_attr_setscope(3:F) pthread_attr_setstackaddr(3:F) pthread_attr_setstacksize(3:F) pthread_condattr_destroy(3:F) pthread_mutexattr_destroy(3:F)
pthread_mutexattr_gettype(3:F)
pthread_mutexattr_settype(3:F) pthread_once(3:F) init(8:F) kvm_open(3:F) pthread_rwlock_init(3:F) pthread_rwlockattr_init(3:F) connect(2:F) kvm(3:F) intro(9:F) ipcs(1:F) pipe(2:F) sigpause(2:F) sigsuspend(2:F) siginterrupt(3:F) sleep(1:F) nanosleep(2:F) sleep(3:F) usleep(3:F) intro(1:F) intro(2:F) intro(3:F) intro(4:F) intro(5:F) intro(8:F)
xx
- compare thread - memory process - get core and future/ descendants /crontab files for - remove unnecessary - display and update - see pthread_attr_ - see pthread_attr_ - see pthread_attr_ - see pthread_attr_ - see pthread_attr_ - see pthread_attr_ - see pthread_attr_ - see pthread_attr_ - see pthread_attr_ - see pthread_attr_ - see pthread_attr_ - see pthread_attr_ - see pthread_attr_ - see pthread_attr_ - see pthread_attr_ see pthread_condattr_ pthread_mutexattr_ pthread_mutexattr_ pthread_mutexattr_ pthread_mutexattr_ pthread_mutexattr_ pthread_mutexattr_ pthread_mutexattr_ - dynamic package - process control virtual memory/ lock lock a socket - kernel memory /to system kernel - report System V descriptor pair for signals and wait for signals and wait for - allow signals to /execution for an /execution for an /execution for an /execution for an commands (tools/ calls and error/ libraries and device/ formats maintenance and/ -
IDs image file format images of running imprison current process imprison process and its individual users (V3) information from/ information about the/ init init init init init init init init init init init init init init init init init init init init init init init initialization initialization initialize kernel initialize a read/write initialize a read/write initiate a connection on interface interfaces interprocess/ interprocess/ interrupt interrupt interrupt system calls interval of time interval measured in/ interval measured in/ interval measured in/ introduction to general introduction to system introduction to the C introduction to devices introduction to file introduction to system
intro(9:F) i386_set_ioperm(2:F) bindresvport(3:F) ftok(3:F) jail(8:F) at(1:F) atrun(8:F) useracc(9:F) kdump(1:F) ktrace(1:F) kvm(3:F) kvm_open(3:F) kvm_read(3:F) ng_ksocket(4:F) intro(9:F) pthread_key_create(3:F) pthread_key_delete(3:F) killall(1:F) kvm_close(3:F) kvm_getargv(3:F) kvm_getenvv(3:F) kvm_openfiles(3:F) kvm_write(3:F) at(1:F) atrun(8:F) i386_set_ldt(2:F) intro(3:F) limits(1:F) sched_get_priority_max(2:F) dllockinit(3:F) linprocfs(5:F) sockstat(1:F) nlist(3:F) listen(2:F) bind(2:F) i386_get_ldt(2:F) lockf(1:F) mlock(2:F) pthread_mutex_lock(3:F) pthread_mutex_trylock(3:F) pthread_rwlock_destroy(3:F) pthread_rwlock_init(3:F) pthread_rwlock_rdlock(3:F) pthread_rwlock_unlock(3:F) pthread_rwlock_wrlock(3:F) pthread_rwlockattr_destroy(3:F) pthread_rwlockattr_init(3:F) vslock(9:F) dllockinit(3:F) w(1:F) nice(1:F) crontab(1:F) intro(8:F) calloc(3:F)
kernel/
- see i386_get_ to a privileged name - create imprison process and /, examine or delete execution - run - see - display - enable - initialize - read or write node type /to system thread-specific data thread-specific data - see - see - see - see - see /or delete jobs for - run jobs queued for - see i386_get_ introduction to the C process resource scheduling parameter with the dynamic system /symbol table name on a socket to a/ - assign a /i386 per-process while holding a file pages in memory - attempt to destroy a read/write a read/write acquire a read/write release a read/write acquire a read/write destroy a read/write a read/write addresses in/ - register thread - display who is /a command at a for individual/ /to system - see
introduction to system ioperm IP port IPC identifier from path its descendants jobs for later execution jobs queued for later kernacc kernel trace data kernel process tracing kernel memory interface kernel virtual memory/ kernel virtual memory kernel socket netgraph kernel interfaces key creation key kill processes by name kvm_open kvm_getprocs kvm_getprocs kvm_open kvm_read later execution later execution ldt libraries limits limits linker Linux process file list open sockets list from an executable/ listen for connections local protocol address Local Descriptor Table/ lock lock (unlock) physical lock a mutex lock a mutex without/ lock lock lock for reading lock lock for writing lock lock lock/unlock user space locking methods with the/ logged in and what they/ low scheduling priority maintain crontab files maintenance and/ malloc
xxi
free(3:F) realloc(3:F) reallocf(3:F) i386_get_ioperm(2:F) i386_get_ldt(2:F) rfork(2:F) sigprocmask(2:F) sigemptyset(3:F) pthread_setschedparam(3:F) mmap(2:F) msync(2:F) munmap(2:F) sigprocmask(2:F) sigsetmask(2:F) pthread_sigmask(3:F) sched_get_priority_min(2:F) sched_rr_get_interval(2:F) nanosleep(2:F) sleep(3:F) usleep(3:F) memget(3:F) meminit(3:F) memput(3:F) memstats(3:F) madvise(2:F) mincore(2:F) mlock(2:F) mmap(2:F) shmat(2:F) shmctl(2:F) shmget(2:F) vfork(2:F) alloca(3:F) cfree(3:F) kvm(3:F) kvm_open(3:F) kvm_read(3:F) malloc(3:F) memcluster(3:F) mpool(3:F) shm_open(3:F) valloc(3:F) core(5:F) memcontrol(8:F) vmstat(8:F) kernacc(9:F) vslock(9:F) ipcrm(1:F) recv(2:F) send(2:F) psignal(3:F) dllockinit(3:F) cpu_switch(9:F) usleep(3:F)
xxii
- see - see - see access to the i3/ Local Descriptor/ resources signal mask scheduling parameter into memory - synchronize a - remove a current signal - set current signal a thread’s signal sched_get_priority_ sched_get_priority_ /for an interval /for an interval /for an interval - see - see - see - see advice about use of advice about use of ) physical pages in files or devices into or detach shared - shared - obtain a shared /process in a virtual - free up allocated - kernel /kernel virtual write kernel virtual - general purpose deallocation/ - shared or create a shared function - aligned with respect to - report virtual - check space addresses in remove the specified - receive a - send a - system signal /thread locking - see interval measured in
malloc malloc malloc manage per-process manage i386 per-process manipulate process manipulate current manipulate signal sets manipulation map files or devices mapped region mapping mask mask mask max max measured in nanoseconds measured in seconds measured in microseconds memcluster memcluster memcluster memcluster memory memory memory memory memory memory control memory identifier memory efficient way memory allocator memory memory interface memory access memory memory allocation/ memory allocation/ memory buffer pool memory object memory allocation memory image file format memory memory statistics memory regions for/ memory message queues,/ message from a socket message from a socket messages methods with the dynamic/ mi_switch microseconds
munlock(2:F) rtprio(1:F) rtprio(2:F) monstartup(3:F) pthread_mutex_destroy(3:F) pthread_mutex_init(3:F) pthread_mutex_lock(3:F) pthread_mutex_trylock(3:F) pthread_mutex_unlock(3:F) pthread_mutexattr_init(3:F) pthread_mutexattr_destroy(3:F)
pthread_mutexattr_gettype(3:F)
pthread_mutexattr_settype(3:F) nanosleep(2:F) ng_ksocket(4:F) ng_socket(4:F) ng_ksocket(4:F) ng_socket(4:F) intro(2:F) shm_open(3:F) shmget(2:F) sockstat(1:F) kvm_close(3:F) kvm_openfiles(3:F) shm_open(3:F) shm_unlink(3:F) savecore(8:F) intro(8:F) pthread_attr_init(3:F) pthread_condattr_init(3:F) pthread_mutexattr_init(3:F) getsockopt(2:F) pthread_once(3:F) mlock(2:F) mprotect(2:F) pipe(2:F) socketpair(2:F) sched_get_priority_max(2:F) pthread_setschedparam(3:F) sched_setparam(2:F) sched_setscheduler(2:F) getpid(2:F) system(3:F) ftok(3:F) sigpending(2:F) i386_get_ioperm(2:F) mlock(2:F) sched_setscheduler(2:F) mpool(3:F) pclose(3:F)
- see - execute, examine or - examine or - see allocated for a - create a - lock a - attempt to lock a - unlock a operations - see pthread_ see pthread_ see pthread_ - see pthread_ see pthread_ see pthread_ - see pthread_ interval measured in - kernel socket type socket netgraph - netgraph socket calls and error a shared memory identifier - list - see kvm_ - see kvm_ memory object - see shm_ a core dump of the /maintenance and - thread attribute - condition attribute - mutex attribute - get and set - dynamic (unlock) physical the protection of - create descriptor sockets - create a - get scheduling - thread scheduling - set/get scheduling policy and scheduler process/ - get shell IPC identifier from - get the i386/ - manage - lock (unlock) - set/get scheduling shared memory buffer - see
mlock modify a utility’s or/ modify a process/ moncontrol mutex mutex mutex mutex without blocking mutex mutex attribute mutexattr_init mutexattr_init mutexattr_init mutexattr_init mutexattr_init mutexattr_init mutexattr_init nanoseconds netgraph node type netgraph socket node node type node type numbers object obtain a shared memory open sockets open open open or create a shared open operating system operation commands operations operations operations options on sockets package initialization pages in memory pages pair for interprocess/ pair of connected parameter limits parameter manipulation parameters parameters parent or calling pass a command to the path name pending signals per-process access to physical pages in memory policy and scheduler/ pool popen
xxiii
i386_get_ioperm(2:F) bindresvport(3:F) pthread(3:F) psignal(9:F) sa(8:F) nice(1:F) rtprio(1:F) getpriority(2:F) rtprio(2:F) sched_get_priority_min(2:F) sched_rr_get_interval(2:F) nice(3:F) renice(8:F) bindresvport(3:F) gcore(1:F) kill(1:F) ktrace(1:F) limits(1:F) ps(1:F) rtprio(1:F) _exit(2:F) acct(2:F) fork(2:F) getgid(2:F) getpgrp(2:F) getpid(2:F) getsid(2:F) i386_get_ioperm(2:F) i386_get_ldt(2:F) issetugid(2:F) jail(2:F) kill(2:F) killpg(2:F) ktrace(2:F) nanosleep(2:F) profil(2:F) ptrace(2:F) rfork(2:F) rtprio(2:F) setpgid(2:F) setsid(2:F) vfork(2:F) wait(2:F) kvm_getprocs(3:F) popen(3:F) pthread_rwlockattr_getpshared(3:F) pthread_rwlockattr_setpshared(3:F) raise(3:F) setproctitle(3:F) sleep(3:F) tcgetpgrp(3:F) tcsetpgrp(3:F) times(3:F) usleep(3:F)
xxiv
to the i386 I/O to a privileged IP or process group statistics at a low scheduling idletime scheduling program scheduling realtime or idle - see sched_get_ - see sched_get_ program scheduling processes - alter - bind a socket to a images of running terminate or signal a - enable kernel - set or display /modify a utility’s or terminate the calling - enable or disable - create a new - get group - get /get parent or calling - get 86 I/ - manage per- manage i386 peror/ - is current - imprison current - send signal to a - send signal to a interval/ - suspend - control debugging - manipulate - examine or modify a - set /session and set memory/ - spawn new - wait for - access user - get the - set the signal to the current - set the interval/ - suspend - get foreground - set foreground interval/ - suspend
port space port POSIX thread functions post signal to a process print system accounting priority priority priority priority priority_max priority_max priority priority of running privileged IP port process process process tracing process resource limits process status process’s realtime or/ process process accounting process process identification process group process identification process session process access to the i3 process Local Descriptor/ process tainted by uid process and future/ process process group process tracing process execution for an process profiling process tracing and process resources process realtime or idle/ process group process group ID process in a virtual process termination process state process I/O process shared attribute process shared attribute process process title for ps(1) process execution for an process group ID process group ID process times process execution for an
linprocfs(5:F) procfs(5:F) init(8:F) jail(8:F) mi_switch(9:F) psignal(9:F) psignal(9:F) killall(1:F) top(1:F) renice(8:F) sched_yield(2:F) clock(3:F) gprof(1:F) moncontrol(3:F) profil(2:F) getpriority(2:F) nice(3:F) mprotect(2:F) bind(2:F) setproctitle(3:F) strsignal(3:F) sys_siglist(3:F) sys_signame(3:F) gsignal(9:F) pgsignal(9:F) pthread_attr_destroy(3:F) pthread_attr_getdetachstate(3:F) pthread_attr_getinheritsched(3:F) pthread_attr_getschedparam(3:F) pthread_attr_getschedpolicy(3:F) pthread_attr_getscope(3:F) pthread_attr_getstackaddr(3:F) pthread_attr_getstacksize(3:F) pthread_attr_setdetachstate(3:F) pthread_attr_setinheritsched(3:F) pthread_attr_setschedparam(3:F) pthread_attr_setschedpolicy(3:F) pthread_attr_setscope(3:F) pthread_attr_setstackaddr(3:F) pthread_attr_setstacksize(3:F) pthread_condattr_destroy(3:F) pthread_getschedparam(3:F) pthread_mutexattr_destroy(3:F)
pthread_mutexattr_gettype(3:F)
pthread_mutexattr_settype(3:F) pthread_rwlock_tryrdlock(3:F) pthread_rwlock_trywrlock(3:F) pthread_setcanceltype(3:F) pthread_testcancel(3:F) malloc(3:F)
- Linux initialization - imprison - switch to another - post signal to a to a process or - kill about the top cpu priority of running - yield - determine - display call graph - control execution - control process priority - get/set priority - set - control the - assign a local the process title for - see - see - see - see - see - see - see - see - see - see - see - see - see - see - see - see - see - see - see - see - see - see - see see see - see see see - see - see - see - see - see - general
process file system process file system process control process and its/ process context process or process group process group processes by name processes processes processor processor time used profile data profile profiling program scheduling program scheduling protection of pages protocol address to a/ ps(1) psignal psignal psignal psignal psignal pthread_attr_init pthread_attr_init pthread_attr_init pthread_attr_init pthread_attr_init pthread_attr_init pthread_attr_init pthread_attr_init pthread_attr_init pthread_attr_init pthread_attr_init pthread_attr_init pthread_attr_init pthread_attr_init pthread_attr_init pthread_condattr_init pthread_setschedparam pthread_mutexattr_init pthread_mutexattr_init pthread_mutexattr_init pthread_mutexattr_init pthread_mutexattr_init pthread_mutexattr_init pthread_mutexattr_init pthread_rwlock_rdlock pthread_rwlock_wrlock pthread_setcancelstate pthread_setcancelstate purpose memory/
xxv
at(1:F) atrun(8:F) ipcrm(1:F) pthread_rwlock_tryrdlock(3:F) kvm_read(3:F) kvm_write(3:F) pthread_rwlock_destroy(3:F) pthread_rwlock_init(3:F) pthread_rwlock_rdlock(3:F) pthread_rwlock_unlock(3:F) pthread_rwlock_wrlock(3:F) pthread_rwlockattr_destroy(3:F) pthread_rwlockattr_init(3:F) pthread_rwlock_rdlock(3:F) rtprio(1:F) rtprio(2:F) recv(2:F) recvfrom(2:F) recvmsg(2:F) msync(2:F) kernacc(9:F) dllockinit(3:F) sigpause(2:F) sigsuspend(2:F) pthread_rwlock_unlock(3:F) ipcrm(1:F) strip(1:F) munmap(2:F) ipcs(1:F) vmstat(8:F) limits(1:F) rfork(2:F) pthread_mutex_destroy(3:F) memcontrol(8:F) nlist(3:F) sigreturn(2:F) pthread_cleanup_pop(3:F) idprio(1:F) atrun(8:F) at_fork(9:F) gcore(1:F) uptime(1:F) renice(8:F) pthread_rwlock_tryrdlock(3:F) pthread_rwlock_trywrlock(3:F) savecore(8:F) sched_get_priority_min(2:F) sched_getparam(2:F) sched_getscheduler(2:F) sched_rr_get_interval(2:F) ualarm(3:F) ualarm(3:F) cron(8:F) sched_setscheduler(2:F)
xxvi
jobs for later/
- run jobs /the specified message - see pthread_rwlock_ virtual memory - see kvm_ - destroy a - initialize a - acquire a - release a - acquire a - destroy a - initialize a a read/write lock for /’s or process’s /or modify a process socket - see - see synchronize a mapped - check memory methods with the/ and/ - atomically and/ - atomically lock message queues,/ information from/ interprocess/ statistics or display process - manipulate process a mutex - free /cache behaviour with name list from/ the first cleanup - see later execution that a function be - get core images of long system has been - alter priority of - see pthread_ - see pthread_ operating system - see - see - see - see specified time specified time - daemon to execute /scheduling policy and
queue, examine or delete queued for later/ queues, semaphore sets,/ rdlock read or write kernel read read/write lock read/write lock read/write lock for/ read/write lock read/write lock for/ read/write lock read/write lock reading realtime or idletime/ realtime or idle/ receive a message from a recv recv region regions for/ register thread locking release blocked signals release blocked signals release a read/write remove the specified remove unnecessary remove a mapping report System V report virtual memory resource limits resources resources allocated for respect to memory retrieve symbol table return from signal routine rtprio run jobs queued for run at fork running process running running processes rwlock_rdlock rwlock_wrlock save a core dump of the sched_get_priority_max sched_setparam sched_setscheduler sched_get_priority_max schedule signal after schedule signal after scheduled commands (/ scheduler parameters
nice(1:F) rtprio(1:F) getpriority(2:F) sched_get_priority_max(2:F) sched_setparam(2:F) sched_setscheduler(2:F) nice(3:F) pthread_setschedparam(3:F) sleep(3:F) ipcrm(1:F) sigwait(3:F) ipcrm(1:F) kill(2:F) killpg(2:F) send(2:F) sendfile(2:F) sendmsg(2:F) sendto(2:F) pthread_kill(3:F) raise(3:F) getsid(2:F) setsid(2:F) limits(1:F) getpriority(2:F) getsockopt(2:F) sched_setparam(2:F) sched_setscheduler(2:F) setpgid(2:F) setsid(2:F) sigaltstack(2:F) sigsetmask(2:F) sigstack(2:F) alarm(3:F) nice(3:F) pthread_rwlockattr_setpshared(3:F) pthread_setcancelstate(3:F) pthread_setspecific(3:F) setproctitle(3:F) sigwait(3:F) tcsetpgrp(3:F) pthread_setcanceltype(3:F) pthread_testcancel(3:F) sched_getparam(2:F) setpgrp(2:F) ipcrm(1:F) sigemptyset(3:F) pthread_getschedparam(3:F) sched_getscheduler(2:F) ipcrm(1:F) shmat(2:F) shmctl(2:F) shmget(2:F) mpool(3:F) pthread_rwlockattr_getpshared(3:F)
/a command at a low realtime or idletime - get/set program limits - get - set/get - set/get - set program - thread interval measured in sets, and shared /message queues, group socket - see - see specified thread current process - get process group ID - create resource limits priority - get/ - get and parameters policy and/ - create session and stack context stack context priority attribute data value for ps(1) - select a group ID - see pthread_ - see pthread_ - see sched_ - see /queues, semaphore - manipulate signal - see pthread_ - see sched_ , semaphore sets, and - attach or detach - obtain a pool - get the process
scheduling priority scheduling priority scheduling priority scheduling parameter scheduling parameters scheduling policy and/ scheduling priority scheduling parameter/ seconds segments select a set of signals semaphore sets, and/ send signal to a process send signal to a process send a message from a send a file to a socket send send send a signal to a send a signal to the session session and set process set or display process set program scheduling set options on sockets set/get scheduling set/get scheduling set process group set process group ID set and/or get signal set current signal mask set and/or get signal set signal timer alarm set program scheduling set the process shared set cancelability state set a thread-specific set the process title set of signals set foreground process setcancelstate setcancelstate setparam setpgid sets, and shared/ sets setschedparam setscheduler shared segments shared memory shared memory control shared memory identifier shared memory buffer shared attribute
xxvii
pthread_rwlockattr_setpshared(3:F) shm_open(3:F) system(3:F) shm_unlink(3:F) shmdt(2:F) uptime(1:F) sigaddset(3:F) sigdelset(3:F) sigfillset(3:F) sigismember(3:F) sigsetops(3:F) kill(1:F) kill(2:F) killpg(2:F) sigaction(2:F) sigaltstack(2:F) sigprocmask(2:F) sigreturn(2:F) sigsetmask(2:F) sigstack(2:F) sigvec(2:F) alarm(3:F) pause(3:F) psignal(3:F) pthread_kill(3:F) pthread_sigmask(3:F) raise(3:F) ualarm(3:F) sigemptyset(3:F) signal(3:F) ualarm(3:F) psignal(9:F) sigblock(2:F) sigpause(2:F) sigpending(2:F) sigsuspend(2:F) siginterrupt(3:F) sigwait(3:F) signal(3:F) accept(2:F) bind(2:F) connect(2:F) getsockname(2:F) listen(2:F) recv(2:F) send(2:F) sendfile(2:F) bindresvport(3:F) ng_ksocket(4:F) ng_socket(4:F) sockstat(1:F) getsockopt(2:F) socketpair(2:F) sigaction(2:F)
xxviii
- set the process - open or create a pass a command to the - see - see been running - see - see - see - see - see - terminate or - send group - send - software - set and/or get - manipulate current - return from - set current - set and/or get - software - set - stop until - system thread - send a /or change a thread’s process - send a time - schedule - manipulate - simplified software time - schedule process/ - post - block /release blocked - get pending /release blocked system/ - allow - select a set of signal/ a connection on a protocol address to a a connection on a - get for connections on a a message from a send a message from a - send a file to a IP port - bind a type - kernel - netgraph - list open and set options on a pair of connected facilities -
shared attribute shared memory object shell shm_open shmat show how long system has sigemptyset sigemptyset sigemptyset sigemptyset sigemptyset signal a process signal to a process signal to a process signal facilities signal stack context signal mask signal signal mask signal stack context signal facilities signal timer alarm signal signal messages signal to a specified signal mask signal to the current signal after specified signal sets signal facilities signal after specified signal to a process or signals signals and wait for/ signals signals and wait for/ signals to interrupt signals simplified software socket socket socket socket name socket socket socket socket socket to a privileged socket netgraph node socket node type sockets sockets sockets software signal
sigvec(2:F) signal(3:F) i386_get_ioperm(2:F) vslock(9:F) vfork(2:F) pthread_cond_timedwait(3:F) pthread_getspecific(3:F) pthread_key_create(3:F) pthread_key_delete(3:F) pthread_setspecific(3:F) ipcrm(1:F) pthread_kill(3:F) ualarm(3:F) ualarm(3:F) sigaltstack(2:F) sigstack(2:F) sa(8:F) vmstat(8:F) ipcs(1:F) ps(1:F) pause(3:F) sleep(1:F) nanosleep(2:F) sleep(3:F) usleep(3:F) cpu_switch(9:F) mi_switch(9:F) nlist(3:F) msync(2:F) ipcs(1:F) truss(1:F) uptime(1:F) intro(2:F) memcluster(3:F) psignal(3:F) siginterrupt(3:F) linprocfs(5:F) procfs(5:F) intro(8:F) memcontrol(8:F) sa(8:F) savecore(8:F) intro(9:F) i386_get_ldt(2:F) nlist(3:F) crontab(5:F) issetugid(2:F) kill(1:F) _exit(2:F) pthread_exit(3:F) wait(2:F) pthread_join(3:F) dllockinit(3:F) pthread(3:F)
facilities
- simplified to the i386 I/O port - lock/unlock user virtual memory/ /variable for a - get a threadcreation - thread- delete a thread- set a thread,/ - remove the - send a signal to a schedule signal after schedule signal after set and/or get signal set and/or get signal system accounting report virtual memory facilities - process interval of time execution for an/ execution for an/ execution for an/ - see mi_ process context from an/ - retrieve region - report - trace - show how long - introduction to /deallocation signals to interrupt - Linux process file - process file - introduction to with/ - Control statistics - print dump of the operating - introduction to Local Descriptor - retrieve symbol - is current process process process thread - wait for process - wait for thread with/ - register - POSIX
software signal software signal/ space space addresses in/ spawn new process in a specific amount of time specific data value specific data key specific data key specific data value specified message queues specified thread specified time specified time stack context stack context statistics statistics status status stop until signal suspend execution for an suspend process suspend process suspend process switch switch to another symbol table name list synchronize a mapped System V interprocess/ system calls system has been running system calls and error/ system system signal messages system calls system system system maintenance and/ system cache behaviour system accounting system system kernel interfaces Table entries table name list from an/ tables for driving cron tainted by uid or gid/ terminate or signal a terminate the calling terminate the calling termination termination thread locking methods thread functions
xxix
pthread_attr_init(3:F) pthread_cancel(3:F) pthread_cleanup_push(3:F) pthread_cond_signal(3:F) pthread_create(3:F) pthread_detach(3:F) pthread_equal(3:F) pthread_exit(3:F) pthread_getspecific(3:F) pthread_join(3:F) pthread_key_create(3:F) pthread_key_delete(3:F) pthread_kill(3:F) pthread_self(3:F) pthread_setschedparam(3:F) pthread_setspecific(3:F) pthread_sigmask(3:F) pthread_cond_broadcast(3:F) alarm(3:F) times(3:F) setproctitle(3:F) intro(1:F) top(1:F) kdump(1:F) truss(1:F) ktrace(1:F) ktrace(2:F) ptrace(2:F) ng_ksocket(4:F) ng_socket(4:F) issetugid(2:F) pthread_cond_broadcast(3:F) pthread_cond_signal(3:F) mlock(2:F) pthread_mutex_unlock(3:F) vslock(9:F) strip(1:F) pause(3:F) top(1:F) clock(3:F) kvm_getprocs(3:F) vslock(9:F) crontab(1:F) intro(1:F) rtprio(1:F) crontab(1:F) pthread_cond_broadcast(3:F) pthread_cond_destroy(3:F) pthread_cond_init(3:F) pthread_cond_signal(3:F) pthread_cond_timedwait(3:F) pthread_cond_wait(3:F) vfork(2:F) kvm_open(3:F)
xxx
operations
cancel execution of a cleanup function for - unblock a - create a new - detach a - compare terminate the calling value - get a - wait for creation - delete a signal to a specified - get the calling parameter/ value - set a /and/or change a - unblock all - set signal - process - set the process /to general commands ( /information about the - display kernel enable kernel process - process - process socket netgraph node netgraph socket node /process tainted by waiting for a/ for a condition/ in memory - lock ( addresses/ - lock/ from/ - remove - stop the/ - display and processor time - access - lock/unlock files for individual commands (tools and /, examine or modify a individual users ( for a condition - destroy a condition - create a condition for a condition - wait on a condition - wait on a condition /new process in a - initialize kernel
thread attribute thread thread exit thread waiting for a/ thread thread thread IDs thread thread-specific data thread termination thread-specific data key thread-specific data key thread thread’s ID thread scheduling thread-specific data thread’s signal mask threads waiting for a/ timer alarm times title for ps(1) tools and utilities) top cpu processes trace data trace system calls tracing tracing tracing and debugging type type uid or gid changes unblock all threads unblock a thread waiting unlock) physical pages unlock a mutex unlock user space unnecessary information until signal update information about used user process state user space addresses in/ users (V3) utilities) utility’s or process’s/ V3) variable variable variable variable variable for a specific/ variable virtual memory efficient/ virtual memory access
kvm_read(3:F) vmstat(8:F) cron(8:F) vsunlock(9:F) sigpause(2:F) sigsuspend(2:F) wait(2:F) wait3(2:F) wait4(2:F) waitpid(2:F) pthread_cond_timedwait(3:F) pthread_cond_wait(3:F) pthread_join(3:F) pthread_cond_broadcast(3:F) pthread_cond_signal(3:F) kvm_read(3:F) pthread_rwlock_destroy(3:F) pthread_rwlock_init(3:F) pthread_rwlock_rdlock(3:F) pthread_rwlock_unlock(3:F) pthread_rwlock_wrlock(3:F) pthread_rwlockattr_destroy(3:F) pthread_rwlockattr_init(3:F) pthread_rwlock_wrlock(3:F) pthread_rwlock_trywrlock(3:F) sched_yield(2:F)
read or write kernel - report scheduled commands ( - see /blocked signals and /blocked signals and termination - see - see - see variable for a/ variable termination - unblock all threads - unblock a thread memory - read or - destroy a read/ - initialize a read/ - acquire a read/ - release a read/ - acquire a read/ - destroy a read/ - initialize a read/ a read/write lock for - see pthread_rwlock_ -
virtual memory virtual memory/ Vixie Cron) vslock wait for interrupt wait for interrupt wait for process wait wait wait wait on a condition wait on a condition wait for thread waiting for a condition/ waiting for a condition/ write kernel virtual write lock write lock write lock for reading write lock write lock for writing write lock write lock writing wrlock yield processor
xxxi
xxxii
Preface This volume, like the other members of the DOSSIER series, is a ‘‘dossier’’1 on a particular aspect of Free and Open Source software. Following a long-standing tradition among techies, we retrofitted DOSSIER with a plausible acronym: ‘‘Documenting Open Source Software for Industry, Education, and Research’’. If this seems a bit too formal or restrictive, feel free to substitute ‘‘Entertainment’’ for ‘‘Education’’: Anyone who tries to make a distinction between education and entertainment doesn’t know the first thing about either. – Marshall McLuhan The DOSSIER series, in any case, consists of topical collections of documentation (e.g, manual pages, papers, and occasional text files) that are relevant to a given set of Free and/or Open Source software. We locate and select these documents, format them for printing, and organize the results into convenient volumes. We hope you like our approach; we have many more volumes on the way! Eclectic Systems Because there is no good2 collective term for all of today’s Unix-derived and -inspired systems (e.g., *BSD, Linux, Solaris), we have invented our own term: ‘‘Eclectic Systems’’ (or ‘‘Eclectix’’, for short). The key common element of these systems, after all, is that fact that they all draw on the same resource pools. Specifically, they all share an intellectual heritage that is strongly based on the UNIX operating system. Even if the implementation code is different, any Eclectic System will have similar basic commands (e.g., grep, ls, sort) and directory names (e.g., /etc, /usr/bin). Many tools and subsystems (e.g., Apache, GCC, Sendmail) are, in fact, picked up and used on arbitrary Eclectic Systems. If a vendor doesn’t supply a particular program, the user is quite free to download and install it. As a result, users of Eclectic Systems seldom need to care which exact system they are using. As long as their favorite shell and commands are present, the underlying details can be safely ignored. Similarly, our collections tend to ignore issues that are specific to particular Eclectic Systems. This allows BSD users to benefit from GNU/Linux documentation, and vice versa. Any user, of course, can profit from a package’s ‘‘official’’ documentation. This approach may cause occasional confusion (‘‘Why doesn’t my version of foo work like this manual page says it should?’’), but the benefits of having so much relevant documentation in a single collection are very compelling. Besides, if a desired feature is missing from your system, this may be an opportunity for you to add it! Collections vs. Books Although we try to use the conventions of traditional ‘‘books’’, DOSSIER collections are far easier to produce than similar-sized books would be. This is no accident; a traditional book can take years of writing and editing to create. With thousands of Free and Open Source software packages to cover, there is no way we could get anywhere using traditional editing and publishing methods. So, we automate the process as much as possible, using fancy production scripts, demand publishing, and Internet-based ordering. This allows us to offer collections on fast-moving topics, even when the audience may be quite limited. As a result, our customers get a wider range of collections and our costs stay within reasonable limits. We also refrain, by and large, from modifying the appearance of documents we include. Generally, we format the documents as the author(s) did, turning the results into PostScript. We then scale and translate the documents to fit them into our overall page layout. Finally, we add our own page footers, to assist you in finding your way around the collection. 1 ‘‘A collection or file of documents on the same subject’’ (Random House Unabridged Dictionary, 2nd. Edition). 2 ‘‘UNIX’’ is a trademark of The Open Group (www.opengroup.org). ‘‘Unix’’, though popular in some circles, is technically an unauthorized (and conflicting) usage.
xxxiii
This approach saves us from the work (and inevitable errors) that full-scale editing would involve. It also allows our versions to remain quite faithful to the original documents, while imposing a small amount of formatting consistency. In summary, if you’re looking for traditional technical books, go to a traditional technical publisher (e.g., Addison-Wesley, Manning, O’Reilly, Prentice Hall). For nicely-printed collections of papers and manuals, however, please come to us! Also, if you have a topic that you’d like us to cover, or a document that you’d like us to include, please let us (
[email protected]) know. In fact, if you think you’re an expert on a given topic (or are willing to become one :-), you may be in a position to edit a new collection for us. In short, feel free to get in touch! The Meta Project The DOSSIER series is actually a spin-off from a much larger effort, known as The Meta Project. This project stems from the observation that, although our software ‘‘knows’’ a great deal about its constituent pieces (e.g., the formats and purposes of files), it cannot tell us much about them. As an example, consider /etc/preserve. Which programs use it, when, and for what purposes? What permissions should it have, and why? You may know the answers to these questions, but what about the other 50K files on your system? Worse, what about the 15K projects listed on www.freshmeat.net? Wouldn’t it make your life easier if this sort of information were readily available? If you think it’s rather silly that our software has such limited capabilities for introspection (i.e., answering questions about itself), come see the Meta web pages (www.cfcl.com/Meta) and find out what we’re trying to do about it. In particular, please try out the Meta Demo (www.cfcl.com/Meta/mdinfo.html). Given a manual page reference, path name, or set of keywords, this tool can find related sets of files and documentation. Over time, we hope to greatly expand its capabilities and coverage. Like the Meta Demo, the DOSSIER series serves as a testbed and development platform for the Meta Project. In addition, it provides the project with a source of revenue. Thus, your purchase of this volume helps us to further the goals of the Meta Project. Legalities The materials in these collections come from a variety of sources. If we suspect that a document may be off-limits for our use, we try to contact the appropriate parties to find out (and if possible, obtain their permission). Accidents happen, however, and we may occasionally include something that was never intended to see commercial publication. If this happens, please let us know at once! We can’t pull words off of printed pages, but we can prevent any more copies from going out (another benefit of demand publishing :-). Alternatively, if there is a way that we can gain permission to print the document(s), let us know what might be involved. Cover Design Although our subject matter tends to be quite technical, we see no reason why our covers have to be arid or plain. Consequently, we are quite pleased that Delight Prescott (www.delightsfantasyart.com) has once again allowed us to use her artwork. We chose ‘‘Book Wyrme’’ for the front cover, because we think it depicts the most frequent use of our products. A harried programmer or system administrator is up late, searching for just the right information to solve a difficult (and probably urgent) problem. ‘‘Quiet Hour’’, in contrast, reminds us of the study and contemplation that allows wizards (whether mythical or modern) to master a deep understanding of their art. Our collections are intended to support both forms of use; the combination of FAQs, manual pages, papers, and reference files should be useful in a wide variety of circumstances. Thanks, as well, to Adam Betts of The Bettsbro., Inc. (www.thebettsbro.com). His creativity, patience, and skills have been invaluable to us in our effort to develop a unifying cover design for this series.
xxxiv
Acknowledgements DOSSIER is greatly indebted to the BSD and GNU/Linux communities, whose work brings together a
wealth of Open Source offerings as integrated, highly usable operating systems. The FreeBSD (www. freebsd.org) Ports Collection makes it trivial for us to download and inspect thousands of Free and Open Source packages. The RedHat (www.redhat.com) Package Manager allows us to find out the origins of given RedHat components, find related items, etc. We would also like to acknowledge the excellent work of the Free Software Foundation (www.fsf.org) in general and the GNU Project (www.gnu.org) in particular. Without GNU software and the GNU GPL (General Public License), it is hard to imagine the current success of Free and Open Source software. The USENIX Association (www.usenix.org), while not limited to Free and Open Source software, provides a variety of resources (e.g., conferences, workshops, and publications) that are of interest to Free and Open Source software developers. The authors of the packages we cover (and the documentation we include) are the real heroes of this story. Without the software, there would be nothing to document. Without the documentation, we would have nothing to print. Thanks, guys; keep up the good work! About this volume Although the operating system kernel is itself a (very large) process, for the purposes of this volume, we will only consider the ‘‘userland’’ processes that the kernel manages. The kernel itself is covered in other DOSSIER volumes. The simplest process consists of a memory image of some executable code, coupled with a thread of control that wanders around in the image, performing some desired function. Most processes also use memory for ‘‘state’’ information, working data, etc. Some processes have multiple threads of control, supported by shared and/or private memory. Processes communicate through a variety of mechanisms (e.g., pipes, shared memory, signals, and sockets). The kernel mediates this communication, as well as monitoring and controlling the processes’ use of memory and processor time. The manual pages in this volume touch on all of these topics, and more: initiation and termination – at(1), batch(1), crontab(1), init(8), kill(1) memory allocation – madvise(2), mincore(2), mlock(2), mmap(2), mprotect(2), vmstat(8) pipes and sockets – pipe(2), recv(2), send(2), unix(4) processor time – acct(2,5), nice(1,3), ps(1), renice(8), sched_yield(2), setpriority(2), sleep(1,3), top(1), times(3), usleep(3) shared memory – shmat(2), shmctl(2), shmget(2) signals – kill(1), raise(3), signal(3), sigpause(2), sigsetops(3), sigvec(2), sigwait(3), strsignal(3) Manual page origins This volume includes manual pages from the FreeBSD (www.freebsd.org) 4.5 distribution. FreeBSD is the most popular of the Open Source BSD variants; in addition, Apple’s Mac OS X ‘‘userland’’ is based on FreeBSD. So, FreeBSD is the obvious choice to represent the BSD approach. And, although other BSD versions may vary somewhat from the software described here, most of the material should be relevant to them. Nonetheless, we are open to the inclusion of material from other sources. If you like the explanation that another operating system provides, please let us know. Navigation The Table of Contents reflects our eclectic approach, so a bit of explanation may be in order. Each manual page entry consists of one or more lines. The first line gives the manual page name, section number, and origin. If the page is simply an ‘‘alias’’, the ‘‘master’’ page is listed (e.g., ‘‘see foo’’). Otherwise, the following line(s) describe the man page and give its page number in this volume.
xxxv
The ‘‘origin’’ information contains the name of the operating system and/or package from which the man page was drawn. An origin such as RedHat/fileutils), for example, indicates that this man page came from the fileutils RPM package, as used by the RedHat distribution. Within each section of the man pages, the entries are listed in (approximately) ASCII sort order. The exceptions are as follows: •
Each section begins with the intro man page.
•
Sorting of letters is case-insensitive unless a cross-case match occurs; in that case, the matching items are sorted in case-sensitive order.
•
Punctuation marks come first, followed by digits and letters. If two items differ only by a pair of punctuation marks, ASCII sort order is used to resolve the ambiguity.
The Permuted Index allows manual pages to be looked up by keywords. It is derived from the names and descriptive text found in the Table of Contents. Each line in the index highlights a particular keyword, showing the context in which it was found. Looking at the index, you should see four columns. The fourth column contains bits of text that begin with a given keyword. The index is sorted so that these keywords appear in alphabetical order. The third (rightjustified) column contains text that precedes the keyword in the descriptive text. The second column, if present, contains ‘‘overflow’’ text, wrapped around from the fourth column. A slash (/) may be used in the second and third columns to denote abridgement of the descriptive text. The first column, finally, contains the manual page designation. To use the index, scan down the fourth column, looking for an interesting keyword. Use the surrounding text to confirm the choice, then jot down the manual page name from the first column. Once you have a suitable ‘‘shopping list’’, you can go investigate the man pages themselves. Some man pages fall into multiple topics. As a result, they may appear in more than one DOSSIER volume. By allowing this small amount of duplication, we hope to reduce the number of volumes you will need, in order to solve a given problem. Stay in Touch! Our electronic newsletter (the ‘‘PTF Bulletin’’) announces upcoming volumes, ‘‘introductory specials’’, etc. If you would like to receive this newsletter, send an email message to
[email protected]. If you’re really interested in what we’re doing (and possibly offering a suggestion or two :-), you may wish to join our discussion list, as well. If so, drop a line to
[email protected]. If you simply want to make a comment or ask for information, feel free to write to us (
[email protected]). We can’t answer every piece of email that comes in, but it all gets looked at and saved for future reference. Finally, please drop by our web site (www.ptf.com)!
xxxvi
INTRO (1)
FreeBSD General Commands Manual
INTRO (1)
1
NAME intro − introduction to general commands (tools and utilities) DESCRIPTION Section one of the manual contains most of the commands which comprise the BSD user environment. Some of the commands included in section one are text editors, command shell interpreters, searching and sorting tools, file manipulation commands, system status commands, remote file copy commands, mail commands, compilers and compiler tools, formatted output tools, and line printer commands. All commands set a status value upon exit which may be tested to see if the command completed normally. Traditionally, the value 0 signifies successful completion of the command, while a value >0 indicates an error. Some commands attempt to describe the nature of the failure by using errors codes as defined in sysexits(3), while others simply set the status to an arbitrary value >0 (typically 1). SEE ALSO apropos(1), man(1), intro(2), intro(3), sysexits(3), intro(4), intro(5), intro(6), intro(7), security(7), intro(8), intro(9) Tutorials in the UNIX User’s Manual Supplementary Documents. HISTORY The intro manual page appeared in Version 6 AT&T UNIX.
FreeBSD 4.5
October 21, 2001
1
intro(1:FreeBSD)
1
AT (1)
1
FreeBSD General Commands Manual
AT (1)
NAME at, batch, atq, atrm − queue, examine or delete jobs for later execution SYNOPSIS at [ −V] [ −q queue] [ −f file] [ −mldbv] time at [ −V] −c job [job . . .] atq [ −V] [ −q queue] [ −v] atrm [ −V] job [job . . .] batch [ −V] [ −q queue] [ −f file] [ −mv] [time] DESCRIPTION At and batch read commands from standard input or a specified file which are to be executed at a later time, using sh(1). at
executes commands at a specified time;
atq
lists the user’s pending jobs, unless the user is the superuser; in that case, everybody’s jobs are listed;
atrm
deletes jobs;
batch
executes commands when system load levels permit; in other words, when the load average drops below 1.5, or the value specified in the invocation of atrun.
At allows some moderately complex time specifications. It accepts times of the form HHMM or HH:MM to run a job at a specific time of day. (If that time is already past, the next day is assumed.) You may also specify midnight, noon, or teatime (4pm) and you can have a time-of-day suffixed with AM or PM for running in the morning or the evening. You can also say what day the job will be run, by giving a date in the form month-name day with an optional year, or giving a date of the form MMDDYY or MM/DD/YY or DD.MM.YY. The specification of a date must follow the specification of the time of day. You can also give times like [now] + count time-units, where the time-units can be minutes, hours, days, weeks, months or years and you can tell at to run the job today by suffixing the time with today and to run the job tomorrow by suffixing the time with tomorrow. For example, to run a job at 4pm three days from now, you would do at 4pm + 3 days, to run a job at 10:00am on July 31, you would do at 10am Jul 31 and to run a job at 1am tomorrow, you would do at 1am tomorrow. For both at and batch, commands are read from standard input or the file specified with the −f option and executed. The working directory, the environment (except for the variables TERM, TERMCAP, DISPLAY and _) and the umask are retained from the time of invocation. An at or batch command invoked from a su(1) shell will retain the current userid. The user will be mailed standard error and standard output from his commands, if any. Mail will be sent using the command sendmail(8). If at is executed from a su(1) shell, the owner of the login shell will receive the mail. The superuser may use these commands in any case. For other users, permission to use at is determined by the files /var/at/at.allow and /var/at/at.deny. If the file /var/at/at.allow exists, only usernames mentioned in it are allowed to use at. If /var/at/at.allow does not exist, /var/at/at.deny is checked, every username not mentioned in it is then allowed to use at.
FreeBSD 4.5
2
DOSSIER: Processes - FreeBSD
April 12, 1995
1
AT (1)
FreeBSD General Commands Manual
AT (1)
1
If neither exists, only the superuser is allowed use of at. This is the default configuration. OPTIONS −V
Print the version number to standard error.
−q queue Use the specified queue. A queue designation consists of a single letter; valid queue designations range from a to z and A to Z. The c queue is the default for at and the E queue for batch. Queues with higher letters run with increased niceness. If a job is submitted to a queue designated with an uppercase letter, it is treated as if it had been submitted to batch at that time. If atq is given a specific queue, it will only show jobs pending in that queue. −m
Send mail to the user when the job has completed even if there was no output.
−f file Read the job from file rather than standard input. −l
Is an alias for atq.
−d
Is an alias for atrm.
−b
Is an alias for batch.
−v
For atq, shows completed but not yet deleted jobs in the queue; otherwise shows the time the job will be executed.
−c
Cat the jobs listed on the command line to standard output.
FILES /var/at/jobs /var/at/spool /var/run/utmp /var/at/at.allow /var/at/at.deny /var/at/jobs/.lockfile
directory containing job files directory containing output spool files login records allow permission control deny permission control job-creation lock file
SEE ALSO nice(1), sh(1), umask(2), atrun(8), cron(8), sendmail(8) BUGS If the file /var/run/utmp is not available or corrupted, or if the user is not logged on at the time at is invoked, the mail is sent to the userid found in the environment variable LOGNAME. If that is undefined or empty, the current userid is assumed. At and batch as presently implemented are not suitable when users are competing for resources. If this is the case for your site, you might want to consider another batch system, such as nqs. AUTHORS At was mostly written by Thomas Koenig 〈
[email protected]〉. The time parsing routines are by David Parsons 〈
[email protected]〉.
FreeBSD 4.5
April 12, 1995
2
at(1:FreeBSD)
3
CRONTAB (1)
1
FreeBSD General Commands Manual
CRONTAB (1)
NAME crontab − maintain crontab files for individual users (V3) SYNOPSIS crontab [ −u user] file crontab [ −u user] { −l | −r | −e } DESCRIPTION Crontab is the program used to install, deinstall or list the tables used to drive the cron(8) daemon in Vixie Cron. Each user can have their own crontab, and though these are files in /var, they are not intended to be edited directly. If the allow file exists, then you must be listed therein in order to be allowed to use this command. If the allow file does not exist but the deny file does exist, then you must not be listed in the deny file in order to use this command. If neither of these files exists, then depending on site-dependent configuration parameters, only the super user will be allowed to use this command, or all users will be able to use this command. The first form of this command is used to install a new crontab from some named file or standard input if the pseudo-filename ‘‘-’’ is given. The following options are available: −u
Specify the name of the user whose crontab is to be tweaked. If this option is not given, crontab examines "your" crontab, i.e., the crontab of the person executing the command. Note that su(1) can confuse crontab and that if you are running inside of su(1) you should always use the −u option for safety’s sake.
−l
Display the current crontab on standard output.
−r
Remove the current crontab.
−e
Edit the current crontab using the editor specified by the VISUAL or EDITOR environment variables. The specified editor must edit the file in place; any editor that unlinks the file and recreates it cannot be used. After you exit from the editor, the modified crontab will be installed automatically.
SEE ALSO crontab(5), cron(8) FILES /var/cron/allow /var/cron/deny STANDARDS The crontab command conforms to IEEE Std 1003.2 (“POSIX.2”). This new command syntax differs from previous versions of Vixie Cron, as well as from the classic SVR3 syntax. DIAGNOSTICS A fairly informative usage message appears if you run it with a bad command line. AUTHORS Paul Vixie 〈
[email protected]〉
FreeBSD 4.5
4
DOSSIER: Processes - FreeBSD
December 29, 1993
1
GCORE (1)
FreeBSD General Commands Manual
GCORE (1)
1
NAME gcore − get core images of running process SYNOPSIS gcore [ −s] [ −c core] [exec] pid DESCRIPTION Gcore creates a core image of the specified process, suitable for use with gdb(1). By default, the core is written to the file “core.”. The process identifier, pid, must be given on the command line. If no executable image is specified, gcore will use “/proc//file”. The options are: −c
Write the core file to the specified file instead of “core.”.
−s
Stop the process while gathering the core image, and resume it when done. This guarantees that the resulting core dump will be in a consistent state. The process is resumed even if it was already stopped. The same effect can be achieved manually with kill(1).
FILES core. /proc//file
The core image. The executable image.
HISTORY Gcore appeared in 4.2 BSD. BUGS Context switches or paging activity that occur while gcore is running may cause the program to become confused. For best results, use −s to temporarily stop the target process. Gcore is not compatible with the original 4.2 BSD version.
FreeBSD 4.5
April 18, 1994
1
gcore(1:FreeBSD)
5
GPROF (1)
1
FreeBSD General Commands Manual
GPROF (1)
NAME gprof − display call graph profile data SYNOPSIS gprof [options ] [a.out [a.out.gmon . . .]] DESCRIPTION Gprof produces an execution profile of C, Pascal, or Fortran77 programs. The effect of called routines is incorporated in the profile of each caller. The profile data is taken from the call graph profile file which is created by programs that are compiled with the −pg option of cc(1), pc(1), and f77(1). The −pg option also links in versions of the library routines that are compiled for profiling. By convention these libraries have their name suffixed with _p, i.e. the profiled version of libc.a is libc_p.a and if you specify libraries directly to the compiler or linker you can use −lc_p instead of −lc. Gprof reads the given object file (the default is a.out) and establishes the relation between its symbol table and the call graph profile. The default graph profile file name is the name of the executable with the suffix .gmon appended. If more than one profile file is specified, the gprof output shows the sum of the profile information in the given profile files. Gprof calculates the amount of time spent in each routine. Next, these times are propagated along the edges of the call graph. Cycles are discovered, and calls into a cycle are made to share the time of the cycle. The first listing shows the functions sorted according to the time they represent including the time of their call graph descendents. Below each function entry is shown its (direct) call graph children, and how their times are propagated to this function. A similar display above the function shows how this function’s time and the time of its descendents is propagated to its (direct) call graph parents. Cycles are also shown, with an entry for the cycle as a whole and a listing of the members of the cycle and their contributions to the time and call counts of the cycle. Second, a flat profile is given, similar to that provided by prof(1). This listing gives the total execution times, the call counts, the time in msec or usec the call spent in the routine itself, and the time in msec or usec the call spent in the routine itself including its descendents. Finally, an index of the function names is provided. The following options are available: −a
Suppresses the printing of statically declared functions. If this option is given, all relevant information about the static function (e.g., time samples, calls to other functions, calls from other functions) belongs to the function loaded just before the static function in the a.out file.
−b
Suppresses the printing of a description of each field in the profile.
−c
The static call graph of the program is discovered by a heuristic that examines the text space of the object file. Static-only parents or children are shown with call counts of 0. This option is not supported on some architectures.
−C count Find a minimal set of arcs that can be broken to eliminate all cycles with count or more members. Caution: the algorithm used to break cycles is exponential, so using this option may cause gprof to run for a very long time. −e name
Suppresses the printing of the graph profile entry for routine name and all its descendants (unless they have other ancestors that aren’t suppressed). More than one −e option may be given. Only one name may be given with each −e option.
FreeBSD 4.5
6
DOSSIER: Processes - FreeBSD
June 6, 1993
1
GPROF (1)
FreeBSD General Commands Manual
GPROF (1)
−E name
Suppresses the printing of the graph profile entry for routine name (and its descendants) as −e, above, and also excludes the time spent in name (and its descendants) from the total and percentage time computations. (For example, −E mcount −E mcleanup is the default.)
−f name
Prints the graph profile entry of only the specified routine name and its descendants. More than one −f option may be given. Only one name may be given with each −f option.
−F name
Prints the graph profile entry of only the routine name and its descendants (as −f, above) and also uses only the times of the printed routines in total time and percentage computations. More than one −F option may be given. Only one name may be given with each −F option. The −F option overrides the −E option.
1
−k fromname toname Will delete any arcs from routine fromname to routine toname. This can be used to break undesired cycles. More than one −k option may be given. Only one pair of routine names may be given with each −k option. −l
Suppresses the printing of the call-graph profile.
−L
Suppresses the printing of the flat profile.
−s
A profile file gmon.sum is produced that represents the sum of the profile information in all the specified profile files. This summary profile file may be given to later executions of gprof (probably also with a −s) to accumulate profile data across several runs of an a.out file.
−u
Suppresses the printing of functions whose names are not visible to C programs. For the ELF object format, this means names that contain the ‘.’ character. For the a.out object format, it means names that do not begin with a ‘_’ character. All relevant information about such functions belongs to the (non-suppressed) function with the next lowest address. This is useful for eliminating "functions" that are just labels inside other functions.
−z
Displays routines that have zero usage (as shown by call counts and accumulated time). This is useful with the −c option for discovering which routines were never called.
FILES a.out The namelist and text space. a.out.gmon Dynamic call graph and profile. gmon.sum Summarized dynamic call graph and profile. SEE ALSO cc(1), profil(2), clocks(7) S. Graham, P. Kessler, and M. McKusick, "An Execution Profiler for Modular Programs", Software Practice and Experience, 13, pp. 671-685, 1983. S. Graham, P. Kessler, and M. McKusick, "gprof: A Call Graph Execution Profiler", Proceedings of the SIGPLAN ’82 Symposium on Compiler Construction, SIGPLAN Notices, 6, 17, pp. 120-126, June 1982. HISTORY The gprof profiler appeared in 4.2 BSD. BUGS The granularity of the sampling is shown, but remains statistical at best. We assume that the time for each execution of a function can be expressed by the total time for the function divided by the number of times the function is called. Thus the time propagated along the call graph arcs to the function’s parents is directly proportional to the number of times that arc is traversed.
FreeBSD 4.5
June 6, 1993
2
gprof(1:FreeBSD)
7
GPROF (1)
1
FreeBSD General Commands Manual
GPROF (1)
Parents that are not themselves profiled will have the time of their profiled children propagated to them, but they will appear to be spontaneously invoked in the call graph listing, and will not have their time propagated further. Similarly, signal catchers, even though profiled, will appear to be spontaneous (although for more obscure reasons). Any profiled children of signal catchers should have their times propagated properly, unless the signal catcher was invoked during the execution of the profiling routine, in which case all is lost. The profiled program must call exit(3) or return normally for the profiling information to be saved in the graph profile file.
FreeBSD 4.5
8
DOSSIER: Processes - FreeBSD
June 6, 1993
3
IPCRM (1)
FreeBSD General Commands Manual
IPCRM (1)
1
NAME ipcrm − remove the specified message queues, semaphore sets, and shared segments SYNOPSIS ipcrm [ −q msqid] [ −m shmid] [ −s semid] [ −Q msgkey] [ −M shmkey] [ −S semkey] ... DESCRIPTION Ipcrm removes the specified message queues, semaphores and shared memory segments. These System V IPC objects can be specified by their creation id or any associated key. The following options are used to specify which IPC objects will be removed. Any number and combination of these options can be used: −q msqid Remove the message queue associated with the id msqid from the system. −m shmid Mark the shared memory segment associated with id shmid for removal. This marked segment will be destroyed after the last detach. −s semid Removes the semaphore set associated with id semid from the system. −Q msgkey Remove the message queue associated with key msgkey from the system. −M shmkey Mark the shared memory segment associated with key shmkey for removal. This marked segment will be destroyed after the last detach. −S semkey Remove the semaphore set associated with key semkey from the system. The identifiers and keys associated with these System V IPC objects can be determined by using ipcs(1). SEE ALSO ipcs(1)
FreeBSD 4.5
August 8, 1994
1
ipcrm(1:FreeBSD)
9
IPCS (1)
1
FreeBSD General Commands Manual
IPCS (1)
NAME ipcs − report System V interprocess communication facilities status SYNOPSIS ipcs [ −abcmopqstMQST] [ −C system] [ −N core] DESCRIPTION The ipcs program provides information on System V interprocess communication (IPC) facilities on the system. The options are as follows: −a
Show the maximum amount of information possible when displaying active semaphores, message queues, and shared memory segments. (This is shorthand for specifying the −b, −c, −o, −p, and −t options.)
−b
Show the maximum allowed sizes for active semaphores, message queues, and shared memory segments. The “maximum allowed size” is the maximum number of bytes in a message on a message queue, the size of a shared memory segment, or the number of semaphores in a set of semaphores.
−c
Show the creator’s name and group for active semaphores, message queues, and shared memory segments.
−m
Display information about active shared memory segments.
−o
Show outstanding usage for active message queues, and shared memory segments. The “outstanding usage” is the number of messages in a message queue, or the number of processes attached to a shared memory segment.
−p
Show the process ID information for active semaphores, message queues, and shared memory segments. The “process ID information” is the last process to send a message to or receive a message from a message queue, the process that created a semaphore, or the last process to attach or detach a shared memory segment.
−q
Display information about active message queues.
−s
Display information about active semaphores.
−t
Show access times for active semaphores, message queues, and shared memory segments. The access times is the time of the last control operation on an IPC object, the last send or receive of a message, the last attach or detach of a shared memory segment, or the last operation on a semaphore.
−C system Extract the name list from the specified system instead of the default “/kernel”. −M
Display system information about shared memory.
−N core Extract values associated with the name list from the specified core instead of the default “/dev/kmem”. −Q
Display system information about messages queues.
−S
Display system information about semaphores.
−T
Display system information about shared memory, message queues and semaphores.
FreeBSD 4.5
10
June 18, 1994
DOSSIER: Processes - FreeBSD
1
IPCS (1)
FreeBSD General Commands Manual
IPCS (1)
1
If none of the −M, −m, −Q, −q, −S, or −s options are specified, information about all active IPC facilities is listed. RESTRICTIONS System data structures may change while ipcs is running; the output of ipcs is not guaranteed to be consistent. BUGS This manual page is woefully incomplete, because it does not at all attempt to explain the information printed by ipcs. FILES /dev/kmem /kernel
default kernel memory default system name list
SEE ALSO ipcrm(1) AUTHORS Thorsten Lockert 〈
[email protected]〉
FreeBSD 4.5
June 18, 1994
2
ipcs(1:FreeBSD)
11
KDUMP (1)
1
FreeBSD General Commands Manual
KDUMP (1)
NAME kdump − display kernel trace data SYNOPSIS kdump [ −dnlRT] [ −f file] [ −m maxdata] [ −t [cnisuw ] ] DESCRIPTION The kdump command displays the kernel trace files produced with ktrace(1) in human readable format. By default, the file ktrace.out in the current directory is displayed. The options are as follows: −d
Display all numbers in decimal.
−f file
Display the specified file instead of ktrace.out.
−l
Loop reading the trace file, once the end-of-file is reached, waiting for more data.
−m maxdata Display at most maxdata bytes when decoding I/O. −n
Suppress ad hoc translations. Normally kdump tries to decode many system calls into a more human readable format. For example, ioctl(2) values are replaced with the macro name and errno values are replaced with the strerror(3) string. Suppressing this feature yields a more consistent output format and is easily amenable to further processing.
−R
Display relative timestamps (time since previous entry).
−T
Display absolute timestamps for each entry (seconds since epoch).
−t cnisuw See the −t option of ktrace(1). SEE ALSO ktrace(1) HISTORY The kdump command appeared in 4.4 BSD.
FreeBSD 4.5
12
June 6, 1993
DOSSIER: Processes - FreeBSD
1
KILL (1)
FreeBSD General Commands Manual
KILL (1)
1
NAME kill − terminate or signal a process SYNOPSIS kill kill kill kill
[ −s signal_name] pid ... −l [exit_status] −signal_name pid ... −signal_number pid ...
DESCRIPTION The kill utility sends a signal to the processes specified by the pid operand(s). Only the super-user may send signals to other users’ processes. The options are as follows: −s signal_name A symbolic signal name specifying the signal to be sent instead of the default TERM. −l [exit_status] If no operand is given, list the signal names; otherwise, write the signal name corresponding to exit_status. −signal_name A symbolic signal name specifying the signal to be sent instead of the default TERM. −signal_number A non-negative decimal integer, specifying the signal to be sent instead of the default TERM. The following pids have special meanings: -1 If superuser, broadcast the signal to all processes; otherwise broadcast to all processes belonging to the user. Some of the more commonly used signals: 1 HUP (hang up) 2 INT (interrupt) 3 QUIT (quit) 6 ABRT (abort) 9 KILL (non-catchable, non-ignorable kill) 14 ALRM (alarm clock) 15 TERM (software termination signal) Some shells may provide a builtin kill command which is similar or identical to this utility. Consult the builtin(1) manual page. SEE ALSO builtin(1), csh(1), killall(1), ps(1), kill(2), sigaction(2) STANDARDS The kill function is expected to be IEEE Std 1003.2 (“POSIX.2”) compatible. HISTORY A kill command appeared in Version 6 AT&T UNIX.
FreeBSD 4.5
April 28, 1995
1
kill(1:FreeBSD)
13
KILL (1)
1
FreeBSD General Commands Manual
KILL (1)
BUGS A replacement for the command “kill 0” for csh(1) users should be provided.
FreeBSD 4.5
14
April 28, 1995
DOSSIER: Processes - FreeBSD
2