标有“definition of”的函数子项指向函数原型出现的地方,当该函数可用时,指向函数的源代码。文中定义的用于后续例子中的函数也包含在索引中,例如图3~11中的set_fl函数。较大例子(第17、19、20和21章)中的某些部分是外部函数的定义,为了便于理解这些大例子,这些外部函数的定义也包含在本索引中。另外,本索引还包括许多例子中出现的重要函数和常量,如select和poll。不过几乎每个例子中都会出现的一般函数(如exit)出现在例子中时并没有为它们建立索引。
本索引中的页码为英文版原书的页码,与书中页边标注的页码对应。
#!, 见interpreter file
., 见current directory
.., 见parent directory
2.9BSD, 234
386BSD, 34
4.1BSD, 525
4.2BSD, 18, 34, 81, 121, 129~130, 183, 277, 326, 329, 469,
502, 508, 521, 525, 589
4.3BSD, 33~34, 36, 49, 201, 257, 267, 289, 313, 318, 329,
366, 482, 535, 735, 898, 951
Reno , 34, 76
Tahoe, 34, 951
4.4BSD, 21, 34, 74, 112, 121, 129, 149, 234, 329, 535, 589,
735, 744, 951
A
a2ps程序, 842
abort函数, 198, 236, 241, 272, 275, 313, 317~319, 331,
365~367, 381, 447, 900
函数定义, 365~366
absolute pathname(绝对路径名), 5, 8, 43, 50, 64, 136,
141~142, 260, 553, 911
accept 函数, 148, 331, 451, 608~609, 615, 617, 635,
639~640, 648, 817
函数定义, 608
access函数, 102~104, 121, 124, 331, 452
函数定义, 102
Accetta, M., 35
accounting(记载,会计)
login(登录), 186~187
process(进程), 269~275
acct函数, 269
acct结构, 270, 273
acctcom程序, 269
accton程序, 269, 274
ACORE常量, 271, 273~274
Adams, J., 293
add_job函数, 814, 820, 823, 827
函数定义, 820
add_option函数, 831, 834
函数定义, 831
addressing, socket(套接字寻址), 593~605
addrinfo结构, 599~603, 614, 616, 618, 620, 622, 800,
802, 804, 807, 813~814, 816, 819, 833
add_worker函数, 814, 824, 828
函数定义, 828
adjustment on exit, semaphore(信号量退出时调整), 570~571
Adobe系统, 825, 947
advisory record locking(建议性记录锁), 495
AES(Application Environment Specification,应用环境规
范), 32
AEXPND常量, 271
AF_INET常量, 590~591, 595~596, 598, 601, 603~604, 802, 808
AF_INET6常量, 590, 595~596, 601
AF_IPX常量, 590
AF_LOCAL常量, 590
AFORK常量, 270~271, 273
AF_UNIX常量, 590, 601, 630, 632, 635, 637, 640~641, 941
AF_UNSPEC常量, 590, 601
agetty程序, 290
Aho, A. V., 262, 947
AI_ALL常量, 603
AI_CANONNAME常量, 603, 616, 618, 623, 802
AI_NUMERICHOST常量, 603
AI_NUMERICSERV常量, 603
aio_cancel函数, 514~515
函数定义, 514
aiocb结构, 511, 517~518
aio_error函数, 331, 513, 515, 519~520
函数定义, 513
aio_fsync函数, 512~513, 520
函数定义, 513
<aio.h>头文件, 29
AIO_LISTIO_MAX常量, 515~516
AIO_MAX常量, 515~516
AIO_PRIO_DELTA_MAX常量, 515~516
aio_read函数, 512~513, 515, 518
函数定义, 512
aio_return函数, 331, 513, 519~520
函数定义, 513
aio_suspend函数, 331, 451, 514, 520
函数定义, 514
aio_write函数, 512~513, 515, 519
函数定义, 512
AI_PASSIVE常量, 603
AI_V4MAPPED常量, 600, 603
AIX, 35, 334
alarm 函数, 313, 317, 331~332, 335, 338~343, 357,
373~374, 381~382, 620~621, 924
函数定义, 338
alloca函数, 210
Almquist, K., 4
already_running函数, 475~478
函数定义,474
ALTWERASE常量, 676, 682, 685
American National Standards Institute, 见ANSI
Andrade, J. M., 560, 947
ANSI(American National Standards Institute,美国国家标准学会), 25
Application Environment Specification, 见AES
apue_db.h头文件, 745, 753, 757, 761
apue.h 头文件, 7, 9~10, 247, 324, 489~490, 635, 755,
895~898
Architecture, UNIX(UNIX体系结构), 1~2
argc变量, 815
ARG_MAX常量, 40, 43, 47 49, 251
arguments, command-line(命令行参数), 203
argv变量, 663
Arnold J. Q., 206, 947
<arpa/inet.h>头文件, 29, 594
asctime函数, 192
<assert.h>头文件, 27
assignment-allocation character(赋值分配字符), 162
ASU常量, 271, 273
asynchronous I/O(异步I/O), 501, 509~520
asynchronous socket I/O(异步套接字I/O), 627
async-signal safe(异步信号安全), 330, 446, 450, 457,
461~462, 927
at程序, 259, 472
atd程序, 259, 465
AT_EACCESS常量, 103
atexit函数, 40~41, 43, 200, 202, 226, 236, 394, 731, 920函数定义, 200
ATEXIT_MAX常量, 40~41, 43, 49, 52
AT_FDCWD 常量, 65, 94, 102, 106, 110, 116~117, 120,
123~124, 127, 129, 553
atoi函数, 766, 839~840
atol函数, 765~767, 818, 823
atomic operation(原子操作), 39, 44, 59, 63, 77~79, 81, 116,
149, 359, 365, 488, 553, 566, 568, 570, 945
AT_REMOVEDIR常量, 117
AT_SYMLINK_FOLLOW常量, 116
AT_SYMLINK_NOFOLLOW常量, 94, 106, 110, 127
AT&T, 6, 33, 174, 336, 507, 948
automatic variables(自动变量), 205, 215, 217, 219, 226
avoidance, deadlock(死锁避免), 402~407
awk程序, 44, 46, 262~264, 552, 950
AXSIG常量, 271, 273~274
B
B0常量, 692
B110常量, 692
B115200常量, 692
B1200常量, 692
B134常量, 692
B150常量, 692
B1800常量, 692
B19200常量, 692
B200常量, 692
B2400常量, 692
B300常量, 692
B38400常量, 692
B4800常量, 692
B50常量, 692
B57600常量, 692
B600常量, 692
B75常量, 692
B9600常量, 692
Bach, M. J., 74, 81, 112, 116, 229, 907, 948
background process group(后台进程组), 296, 300, 302, 304,
306~307, 309, 321, 369, 377, 944
backoff, exponential(指数补偿), 606
Barkley, R. E., 948
barriers attributes(屏障属性), 441~442
barriers(屏障), 418~422
basename函数, 442
bash程序, 85, 372
.bash_login文件, 289
.bash_login文件, 289
Bass, J., 485
baud rate, terminal I/O(终端I/O波特率), 692~693
Berkeley Software Distribution, 见BSD
bibliography, alphabetical(按字母序的参考文献), 947~953
big-endian byte order(大端字节序), 593, 791
bind函数, 331, 604, 609, 624~625, 634~635, 637~638, 641函数定义, 604
/bin/false程序, 179
/bin/true程序, 179
<bits/signum.h>头文件, 314
block special file(块特殊文件), 95, 138~139
Bolsky, M. I., 548, 948
Bostic, K., 33, 74, 112, 116, 525, 951
Keith , 229, 236
Bourne, S. R., 3
Bourne shell, 3, 53, 90, 210, 222, 289, 299, 303, 372, 497, 542, 548, 702, 935, 950
Bourne-again shell, 3~4, 53, 85, 90, 210, 222, 289, 300, 548 Bovet, D. P., 74
BREAK character(BREAK字符), 677, 682, 685, 688, 690, 694, 708
BRKINT常量, 676, 685, 688, 706~708
BS0常量, 685
BS1常量, 685
BSD(Berkeley Software Distribution), 34, 65, 111, 175, 286,
289, 291, 293, 296~297, 299, 482, 501, 509~511, 532,
596~597, 630, 726~727, 734, 742
BSD Networking Release 1.0, 34
BSD Networking Release 2.0, 34
BSDLY常量, 676, 684~685, 689
__BSD_VISIBLE常量, 473
bss segment(bss段), 205
buf_args函数, 656~658, 668~670, 897
函数定义, 657
buffer cache(缓冲区高速缓存), 81
buffering, standard I/O(标准I/O缓冲), 145~147, 231, 235,
265, 367, 552, 721, 752
BUFSIZ常量, 49, 147, 166, 220
build_qonstart函数, 814, 817, 822
函数定义, 822
BUS_ADRALN常量, 353
BUS_ADRERR常量, 353
BUS_OBJERR常量, 353
byte order(字节序), 593~594, 792, 810, 825, 831, 834, 842,
861, 865
big-endian(大端字节序), 593, 791
little-endian(小端字节序), 593
C
C, ANSI,
ISO, 25~26, 153, 950
C shell, 3, 53, 222, 289, 299, 548
c99程序, 58, 70
cache
buffer(缓冲区高速缓存), 81
page(页高速缓存), 81
CAE(Common Application Environment,公共应用环境), 32
calendar time(日历时间), 20, 24, 59, 126, 189, 191~192,
264, 270
calloc函数, 207~208, 226, 544, 760, 920
函数定义, 207
cancellation point(取消点), 451
canonical mode, terminal I/O(终端I/O规范模式), 700~703
Carges, M. T., 560, 947
cat程序, 89, 112, 123, 301, 304, 734~735, 748, 944
catclose函数, 452
catgets函数, 442, 452
catopen函数, 452
CBAUDEXT常量, 675, 685
cbreak terminal mode(cbreak终止模式), 672, 704, 708, 713
cc程序, 6, 57, 206
CCAR_OFLOW常量, 675, 685, 689
cc_t数据类型, 674
CCTS_OFLOW常量, 675, 685
cd程序, 136
CDSR_OFLOW常量, 675, 685
CDTR_IFLOW常量, 675, 685
Cesati, M., 74
cfgetispeed函数, 331, 677, 692
函数定义, 692
cfgetospeed函数, 331, 677, 692
函数定义, 692
cfsetispeed函数, 331, 677, 692
函数定义, 692
cfsetospeed函数, 331, 677, 692
函数定义, 692
character special file(字符特殊文件), 95, 138~139, 699 CHAR_BIT常量, 37~38
CHARCLASS_NAME_MAX常量, 39, 49
CHAR_MAX常量, 37~38
CHAR_MIN常量, 37~38
chdir函数, 8, 121, 135~137, 141, 222, 288, 331, 468, 912
函数定义, 135
Chen, D., 948
CHILD_MAX常量, 40, 43, 49, 233
chmod函数, 106~108, 121, 125, 331, 452, 558, 641, 944
函数定义, 106
chmod程序, 99~100, 559
chown函数, 55, 109~110, 120~121, 125, 288, 331, 452, 558, 944
函数定义, 109
chroot函数, 141, 480, 910, 928
CIBAUDEXT常量, 675, 685
CIGNORE常量, 675, 685
CLD_CONTINUED常量, 353
CLD_DUMPED常量, 353
CLD_EXITED常量, 353
CLD_KILLED常量, 353
CLD_STOPPED常量, 353
CLD_TRAPPED常量, 353
clearenv函数, 212
clearerr函数, 151
函数定义, 151
cli_args函数, 656~658, 668~669
函数定义, 658
cli_conn函数, 636~637, 640, 659, 665, 897
函数定义, 662, 665, 667
client_add函数, 662, 665, 667
函数定义, 661
client_alloc函数, 661~662, 668
函数定义, 660
client_cleanup函数, 814, 824, 829
函数定义, 829
client_del函数, 665, 667
函数定义, 661
client-server model(客户进程-服务器进程模型), 479~480,
585~587
client_thread函数, 814, 817, 824
函数定义, 824
CLOCAL常量, 318, 675, 685
clock函数, 58~59
clock tick(时钟滴答), 20, 42~43, 49, 59, 270, 280
clock_getres函数, 190
函数定义, 190
clock_gettime函数, 189~190, 331, 408, 414, 437, 439函数定义, 189
clockid_t数据类型, 189
CLOCK_MONOTONIC常量, 189
clock_nanosleep函数, 373~375, 437, 439, 451, 462
函数定义, 375
CLOCK_PROCESS_CPUTIME_ID常量, 189
CLOCK_REALTIME常量, 189~190, 408, 437, 439, 581
clock_settime函数, 190, 439
函数定义, 190
CLOCKS_PER_SEC常量, 59
clock_t数据类型, 20, 58~59, 280
CLOCK_THREAD_CPUTIME_ID常量, 189
clone函数, 229
close函数, 8, 52, 61, 66, 80~81, 124, 128, 331, 451, 468,
474, 492, 532, 537~539, 544, 550, 553, 560, 577~578,
587, 592~593, 609, 616, 618, 625, 638~639, 641,
654~655, 657, 665, 667~669, 725~726, 728~729,
739~740, 761, 823, 826~827, 829, 833, 837
函数定义, 66
closedir函数, 5, 7, 130~135, 452, 698, 823, 910
函数定义, 130
closelog函数, 452, 470
函数定义, 470
close-on-exec flag(执行时关闭标志), 80, 83, 252~253,
479~480, 492
clrasync函数, 函数定义, 940
clr_fl函数, 85, 482~483, 896, 937
clri程序, 122
cmsgcred结构, 648~651
CMSG_DATA函数, 645~646, 648, 650, 652
函数定义, 645
CMSG_FIRSTHDR函数, 645, 652
函数定义, 645
cmsghdr结构, 645~647, 649, 651
CMSG_LEN函数, 645~647, 649, 651
函数定义, 645
CMSG_NXTHDR函数, 645, 650, 652函数定义, 645
CMSPAR常量, 675, 685, 690
codes, option(选项代码), 31
COLL_WEIGHTS_MAX常量, 39, 43, 49 COLUMNS环境变量, 211
Comer, D. E., 744, 949
command-line arguments(命令行参数), 203
Common Application Environment, 见CAE
Common Open Software Environment, 见COSE
communication, network printer(网络打印机通信),
789~843
<complex.h>头文件, 27
comp_t数据类型, 59
Computing Science Research Group, 见CSRG
condition variable attributes(条件变量属性), 440~441
condition variables(条件变量), 413~416
cond_signal函数, 416
connect 函数, 331, 451, 605~608, 610~611, 621, 635,
641~642
函数定义, 605
connection establishment(连接建立), 605~609
connect_retry函数, 607, 614, 800, 808, 834
函数定义, 606~607
controlling
process(控制进程), 296~297, 318
terminal(控制终端), 63, 233, 252, 270, 292, 295~298, 301,
303~304, 306, 309, 311~312, 318, 321, 377, 463, 465~466, 469,
480, 680, 685, 691, 694, 700, 702, 716, 724, 726~727, 898, 953
cooked terminal mode(精加工终端模式), 672
cooperating processes(合作进程), 495, 752, 945
Coordinated Universal Time, 见UTC
coprocesses(协同进程), 548~552, 721, 737
copy-on-write(写时复制), 229, 458
core dump(核心转储), 74, 928
core文件, 111, 124, 275, 315, 317, 320, 332, 366, 681, 703,
909, 920, 922
COSE(Common Open Software Environment,公共开放软
件环境), 32
count, link(链接计数), 44, 59, 114~117, 130
cp程序, 141, 528
cpio程序, 127, 142, 910~911
<cpio.h>头文件, 29
CR terminal character(CR终止符), 678, 680, 703
CR0常量, 685
CR1常量, 685
CR2常量, 685
CR3常量, 685
CRDLY常量, 676, 684~685, 689
CREAD常量, 675, 686
creat函数, 61, 66, 68, 79, 89, 101, 104, 118, 121, 125, 149,
331, 451, 491, 825~826, 909, 912
函数定义, 66
creation mask, file mode(文件模式创建屏蔽字), 104~105,
129, 141, 169, 233, 252, 466
cron程序, 259, 384, 465, 470, 472~474, 925
CRTSCTS常量, 675, 686
CRTS_IFLOW常量, 675, 686
CRTSXOFF常量, 675, 686
crypt函数, 287, 298, 304, 442
crypt程序, 298, 700
CS5常量, 684, 686
CS6常量, 684, 686
CS7常量, 684, 686
CS8常量, 684, 686, 706~708
.cshrc文件, 289
CSIZE常量, 675, 684, 686, 706~707
csopen函数, 653~654
函数定义, 654, 659
CSRG(Computing Science Research Group,计算科学研究组, 34
CSTOPB常量, 675, 686
ctermid函数, 442, 452, 694, 700~701
函数定义, 694
ctime函数, 192
<ctype.h>头文件, 27
cu程序, 500
cupsd程序, 465, 793
current directory(当前目录), 4~5, 8, 13, 43, 50, 65, 94, 100,
115~117, 120, 127, 130, 135~137, 178, 211, 233, 252,
315, 317, 466
Curses, 32
curses库, 712~713, 949, 953
cuserid函数, 276
D
daemon(守护进程), 463~480
coding(守护进程编码), 466~469
conventions(守护进程惯例), 474~4739
error logging(守护进程错误日志), 469~473
daemonize函数, 466, 468, 480, 616, 618, 623, 664, 815,
896, 929~930
函数定义, 467
Dang, X. T., 206, 949
Darwin, 35
dash程序, 372
data, out-of-band(带外数据), 626
data segment
initialized(初始化的数据段), 205
uninitialized(未初始化的数据段), 205
data transfer(数据传输), 610~623
data types, primitive system(基本系统数据类型), 58
database library(数据库函数库), 743~787
coarse-grained locking(粗粒度锁), 752
concurrency(并发), 752~ 753
fine-grained locking(细粒度锁), 752
implementation(实现), 746~750
performance(性能), 781~786
source code(源代码), 753~ 781
database transactions(数据库事务), 952
Date, C. J., 753, 949
date functions, time and(时间和日期函数), 189~196
date程序, 192, 196, 371, 919, 944
DATEMSK环境变量, 211
db库, 744, 952
DB结构, 756~758, 760~762, 765~768, 773, 776, 782
_db_alloc函数, 757, 760~761
函数定义, 760
db_close函数, 745, 749, 754, 761
函数定义, 745, 761
db_delete函数, 746, 752, 754, 768~769, 771, 945
函数定义, 746, 768
_db_dodelete函数, 757, 768~769, 772, 776, 780~781,
787, 944~945
函数定义, 769
db_fetch函数, 745, 748~749, 752, 754, 762, 767
函数定义, 745, 762
_db_find_and_lock 函数, 757, 762~763, 767~768,
774~775, 777, 786
函数定义, 763
_db_findfree函数, 757, 775, 777~778, 781
函数定义, 777
_db_free函数, 757~758, 761
函数定义, 761
DBHANDLE数据类型, 749, 754, 757, 761~762, 768, 774, 779
_db_hash函数, 757, 764, 787
函数定义, 764
DB_INSERT常量, 745, 749, 754, 774, 776
dbm库, 743~744, 952
dbm_clearerr函数, 442
dbm_close函数, 442, 452
dbm_delete函数, 442, 452
dbm_error函数, 442
dbm_fetch函数, 442, 452
dbm_firstkey函数, 442
dbm_nextkey函数, 442, 452
dbm_open函数, 442, 452
dbm_store函数, 442, 452
db_nextrec函数, 746, 750, 752, 754, 769, 779, 781, 787,
944~945
函数定义, 746, 779
db_open函数, 745~746, 749, 752, 754~757, 759~761, 781
函数定义, 745, 757
_db_readdat函数, 757, 762, 768, 780, 945
函数定义, 768
_db_readidx函数, 757, 764~765, 778, 780, 945
函数定义, 765
_db_readptr函数, 757, 763, 765, 770, 775~777, 787
函数定义, 765
DB_REPLACE常量, 745, 754, 774
db_rewind函数, 746, 754, 760, 779, 781
函数定义, 746, 779
DB_STORE常量, 745, 754, 774
db_store函数, 745, 747, 749, 752, 754, 769, 771, 774,
781, 787
函数定义, 745, 774
_db_writedat函数, 757, 769, 771~772, 775~777, 781,
787, 944~945
函数定义, 771
_db_writeidx函数, 522, 757, 759, 770, 772, 775~776,
781, 787, 945
函数定义, 772
_db_writeptr函数, 757, 759, 770, 773, 775~776, 778
函数定义, 773
dcheck程序, 122
dd程序, 275
deadlock(死锁), 234, 402, 490, 552, 721
avoidance(避免死锁), 402~407
record locking(记录锁死锁), 490
Debian Almquist shell, 4, 53
Debian Linux distribution, 4
delayed write(延迟写), 81
DELAYTIMER_MAX常量, 40, 43
descriptor set(描述符集), 503, 505, 532, 933
detachstate attribute(分离状态属性), 427~428
/dev/fd设备, 88~89, 142, 696
/dev/fd/0设备, 89
/dev/fd/1设备, 89, 142/dev/fd/2设备, 89
device number(设备号)
major(主设备号), 58~59, 137, 139, 465, 699
minor(次设备号), 58~59, 137, 139, 465, 699
device special file(设备特殊文件), 137~139
/dev/klog设备, 470
/dev/kmem设备, 68
/dev/log设备, 470, 480, 928
/dev/null设备, 73, 86, 304
/dev/stderr设备, 89, 697
/dev/stdin设备, 89, 697
/dev/stdout设备, 89, 697
dev_t数据类型, 59, 137~138
devtmpfs文件系统, 139
/dev/tty设备, 298, 304, 312, 694, 700, 740
/dev/tty1文件, 290
/dev/zero设备, 576~578
df程序, 141, 910
DIR结构, 7, 131, 283, 697, 822
directories(目录)
files and(文件和目录), 4~8
hard links and, 117, 120
reading(读目录), 130~135
directory(目录), 4
current(当前目录), 4~5, 8, 13, 43, 50, 65, 94, 100,
115~117, 120, 127, 130, 135~137, 178, 211, 233, 252,
315, 317, 466
file(文件目录), 95
home(起始目录), 2, 8, 135, 211, 288, 292
ownership(目录所有权), 101~102
parent(父目录), 4, 108, 125, 129
root(根目录), 4, 8, 24, 139, 141, 233, 252, 283, 910
Directory Services daemon(目录服务守护进程), 185
dirent结构, 5, 7, 131, 133, 697, 822
<dirent.h>头文件, 7, 29, 131
dirname函数, 442
DISCARD terminal character(DISCARD终端字符), 678,
680, 687
dlclose函数, 452
dlerror函数, 442
<dlfcn.h>头文件, 29
dlopen函数, 452
do_driver函数, 732, 739
函数定义, 739
Dorward, S., 229, 952
DOS, 57, 65
dot, 见current directory
dot-dot, 见parent directory
dprintf函数, 159, 452, 945
函数定义, 159
drand48函数, 442
DSUSP terminal character(DSUSP 终端字符), 678, 680, 688
dtruss程序, 497
du程序, 111, 141, 909
Duff, T., 88
dup函数, 52, 61, 74, 77, 79~81, 148, 164, 231, 331, 468,
492~493, 592~593, 907~908, 921
函数定义, 79
dup2函数, 64, 79~81, 90, 148, 331, 539, 544, 550~551, 592,
618~619, 655, 728~729, 739~740, 907~908
函数定义, 79
E
E2BIG错误, 564
EACCES错误, 14~15, 474, 487, 499, 918
EAGAIN错误, 16, 376, 474, 482, 484, 487, 496~497, 499,
514, 563, 569~570, 581, 609, 627
EBADF错误, 52, 916
EBUSY错误, 16, 400, 410, 418
ECANCELED错误, 515
ECHILD错误, 308, 326, 345, 508
ECHO常量, 676, 686~687, 701, 705~707, 731
echo程序, 203
ECHOCTL常量, 676, 686
ECHOE常量, 676, 686~687, 701, 731
ECHOK常量, 676, 687, 701, 731
ECHOKE常量, 676, 687
ECHONL常量, 676, 687, 701, 731
ECHOPRT常量, 676, 686~687
ed程序, 367, 369~370, 496~497
EDEADLK错误, 418
EEXIST错误, 121, 558, 584
EFBIG错误, 925
effective
group ID(有效组ID), 98~99, 101~102, 108, 110, 140,
183, 228, 233, 256, 258, 558, 587
user ID(有效用户ID), 98~99, 101~102, 106, 110, 126,
140, 228, 233, 253, 256~260, 276, 286, 288, 337, 381,
558, 562, 568, 573, 586~587, 637, 640, 809, 918
efficiency
I/O(I/O效率), 72~74
standard I/O(标准I/O效率), 153~156
EIDRM错误, 562~564, 568~570, 579
EINPROGRESS错误, 519~520, 608
EINTR错误, 16, 265~266, 301, 327~329, 339, 359, 370, 502,
508, 514, 545~546, 563~564, 569~570, 620
EINVAL错误, 42, 47~48, 345, 389, 543, 545~546, 705~707,
774, 914
EIO错误, 309, 321, 823~824, 826~827
ELOOP错误, 121~122
EMFILE错误, 544, 546
EMSGSIZE错误, 610
ENAMETOOLONG错误, 65, 637, 640
encrypt函数, 442
endgrent函数, 183~184, 442, 452
函数定义, 183
endhostent函数, 452, 597
函数定义, 597
endnetent函数, 452, 598
函数定义, 598
endprotoent函数, 452, 598
函数定义, 598
endpwent函数, 180~181, 442, 452
函数定义, 180
endservent函数, 452, 599
函数定义, 599
endspent函数, 182
函数定义, 182
endutxent函数, 442, 452
ENFILE错误, 16
ENOBUFS错误, 16
ENOENT错误, 15, 170, 445, 745, 774
ENOLCK错误, 16
ENOMEM错误, 16, 914
ENOMSG错误, 564
ENOSPC错误, 16, 445
ENOTDIR错误, 592
ENOTRECOVERABLE错误, 433
ENOTTY错误, 683, 693
environ变量, 203~204, 211, 213, 251, 255, 444~445, 450, 920
environment list(环境列表), 203~204, 233, 251, 286~288
environment variable(环境变量), 210~213
COLUMNS, 211
DATEMSK, 211
HOME , 210~211, 288
IFS, 269
LANG, 41, 211
LC_ALL, 211
LC_COLLATE, 43, 211
LC_CTYPE, 211
LC_MESSAGES, 211
LC_MONETARY, 211
LC_NUMERIC, 211
LC_TIME, 211
LD_LIBRARY_PATH, 753
LINES, 211
LOGNAME, 211, 276, 288
MAILPATH, 210
MALLOC_OPTIONS, 928
MSGVERB, 211
NLSPATH, 211
PAGER, 539, 542~5435
PATH , 100, 211, 250~251, 253, 260, 263, 265, 288~289
POSIXLY_CORRECT, 111
PWD, 211
SHELL , 211, 288, 737
TERM, 211, 287, 289
TMPDIR, 211
TZ, 190, 192, 195~196, 211, 919
USER, 210, 288
ENXIO错误, 553
EOF 常量, 10, 151~152, 154, 164, 175, 545, 547~548,
550~551, 664, 730, 913
EOF terminal character(EOF终端字符), 678, 680, 686~687,
700, 703
EOL terminal character(EOL终端字符), 678, 680, 687, 700, 703
EOL2 terminal character(EOL2 终端字符), 678, 680, 687,
700, 703
EOWNERDEAD错误, 432
EPERM错误, 256
EPIPE错误, 537, 937
Epoch(特定时间,指1970年1月1日00:00:00), 20, 22,
126, 187, 189~190, 640
ERANGE错误, 50
ERASE terminal character(ERASE终端字符), 678, 680,
686~687, 702~703
ERASE2 terminal character(ERASE终端字符), 678, 681
err_cont函数, 897, 899
函数定义, 900
err_dump函数, 366, 767, 897, 899
函数定义, 900
err_exit函数, 809, 897, 899
函数定义, 900
err_msg函数, 897, 899
函数定义, 901
errno变量, 14~15, 42, 50, 55, 65, 67, 81, 121, 144, 256,
265, 277, 301, 309, 314, 321, 327~328, 330~331, 333, 337,
339, 345, 351, 359, 371, 376, 380, 384, 386, 446~447, 454,
471, 474, 482, 484, 487, 499, 502, 508, 513~514, 537, 546,
553, 564, 568, 579, 581, 584, 592, 608~610, 627, 637~638,
640, 683, 693, 745, 805, 899, 925, 937
<errno.h>头文件, 14~16, 27
error
handling(错误处理), 14~16
logging, daemon(守护进程记录错误日志), 469~473
recovery(错误恢复), 16
routines, standard(标准错误例程), 898~904
TOCTTOU, 65, 250, 953
err_quit函数, 7, 815, 897, 899, 912
函数定义, 901
err_ret函数, 897, 899, 912
函数定义, 899
err_sys函数, 7, 897, 899
函数定义, 899
ESPIPE错误, 67, 592
ESRCH错误, 337
/etc/gettydefs文件, 290
/etc/group文件, 17~18, 177, 185~186
/etc/hosts文件, 186, 795
/etc/init目录, 290
/etc/inittab文件, 290
/etc/master.passwd文件, 185
/etc/networks文件, 185~186
/etc/passwd文件, 2, 99, 135, 177~178, 180, 182, 185~186
/etc/printer.conf文件, 794~795, 799
/etc/protocols文件, 185~186
/etc/pwd.db文件, 185
/etc/rc文件, 189, 291
/etc/services文件, 185~186
/etc/shadow文件, 99, 185~186
/etc/spwd.db文件, 185
/etc/syslog.conf文件, 470
/etc/termcap文件, 712
/etc/ttys文件, 286
ETIME错误, 800, 805
ETIMEDOUT错误, 407, 413, 415, 581, 800
Evans, J., 949
EWOULDBLOCK错误, 16, 482, 609, 627
exec函数, 10~11, 13, 23, 39~40, 43, 79, 82, 100, 121, 125,
197, 201, 203, 225, 229, 233~234, 249~257, 260~261,
264~266, 269~271, 275, 277, 282~283, 286~288,
290~292, 294, 305, 325, 372, 457, 479, 492, 527, 533,
538, 541, 557, 585, 653~654, 658~659, 669, 716~717,
721, 723, 727, 739, 742, 920, 928, 948
execl函数, 249~251, 261, 265~266, 272, 274~275, 283, 288,
331, 370~371, 539, 544, 550~551, 618, 655, 737, 922
函数定义, 249
execle函数, 249~251, 254, 287, 331
函数定义, 249
execlp函数, 12~13, 19, 249~251, 253~254, 264~265, 283,
740, 922
函数定义, 249
execv函数, 249~251, 331
函数定义, 249
execve函数, 249~251, 253, 331, 922
函数定义, 249
execvp函数, 249~251, 253, 731~732
函数定义, 249
exercises, solutions to(习题答案), 905~945
_Exit函数, 198, 201, 236~237, 239, 331, 365, 367, 388, 447
函数定义, 198
_exit函数, 198, 201, 235~239, 265~266, 282~283, 331,
365, 367, 370, 381, 388, 447, 921, 924
函数定义, 198
exit函数, 7, 150, 154, 198~202, 226, 231, 234~239, 246, 249,
265, 271~272, 274~275, 283, 288, 330, 365~366, 388, 447,
466, 542, 705, 732, 742, 817, 830, 895, 920~921, 944
函数定义, 198
exit handler(退出处理程序), 200
expect程序, 720, 739~740, 951
exponential backoff(指数补偿), 606
ext2文件系统, 129
ext3文件系统, 129
ext4文件系统, 73, 86, 129, 465
EXTPROC常量, 676, 687
F
faccessat函数, 102~104, 331, 452
函数定义, 102
Fagin, R., 744, 750, 949
Fast-STREAMS, Linux, 534
fatal error(致命性错误), 16
fchdir函数, 135~137, 592
函数定义, 135
fchmod函数, 106~108, 120, 125, 331, 452, 498, 592
函数定义, 106
fchmodat函数, 106~108, 331, 452
函数定义, 106
fchown函数, 109~110, 125, 331, 452, 592
函数定义, 109
fchownat函数, 109~110, 331, 452
函数定义, 109
fclose函数, 148~150, 172~174, 199, 201, 365, 367, 452,
545, 701, 803
函数定义, 150
fcntl函数, 61, 77, 80~87, 90, 112, 148, 164, 252~253, 331,
451~452, 480, 482, 485~490, 492, 494~495, 510~511,
592, 626~627, 783, 785, 939, 944
函数定义, 82
<fcntl.h>头文件, 29, 62
fdatasync函数, 81, 86~87, 331, 451, 513, 592
函数定义, 81
FD_CLOEXEC常量, 63, 79, 82~83, 252, 480
FD_CLR函数, 503~504, 665, 933
函数定义, 503
FD_ISSET函数, 503~504, 665, 817, 933
函数定义, 503
fdopen函数, 148~150, 159, 544, 936
函数定义, 148
fdopendir函数, 130~135
函数定义, 130
fd-pipe(fd管道), 653~654, 656, 658
fd_pipe函数, 630, 655, 739, 896
函数定义, 630
fd_set 数据类型, 59, 503~504, 532, 664, 805, 814,
816~817, 932~933, 939
FD_SET函数, 503~504, 664~665, 805, 816, 933
函数定义, 503
_ _FD_SETSIZE常量, 933
FD_SETSIZE常量, 504, 932~933
F_DUPFD常量, 81~83, 592
F_DUPFD_CLOEXEC常量, 82, 592
FD_ZERO函数, 503~504, 664, 805, 933
函数定义, 503
feature test macro(功能测试宏), 57~58, 84
Fenner, B., 157, 291, 470, 589, 952
<fenv.h>头文件, 27
feof函数, 151, 157
函数定义, 151
ferror函数, 10, 151, 154, 157, 273, 538, 543, 550
函数定义, 151
fexecve函数, 249~250, 253, 331
函数定义, 249
FF0常量, 687
FF1常量, 687
FFDLY常量, 676, 684, 687, 689
fflush 函数, 145, 147, 149, 172, 174~175, 366, 452,
547~548, 552, 702, 721, 901, 904, 913
函数定义, 147
F_FREESP常量, 112
fgetc函数, 150~151, 154~155, 452
函数定义, 150
F_GETFD常量, 82~83, 480, 592
F_GETFL常量, 82~85, 592
F_GETLK常量, 82, 486~490
F_GETOWN常量, 82~83, 592, 626
fgetpos函数, 157~159, 452
函数定义, 158
fgets函数, 10, 12, 19, 150, 152~156, 168, 174~175, 214,
216, 452, 538, 543, 548, 550~552, 616, 622, 654, 738,
753, 803, 845, 911, 913, 936
函数定义, 152
fgetwc函数, 452
fgetws函数, 452
FIFOs, 95, 534, 552~556
file
access permissions(文件访问权限), 99~101, 140
block special(块特殊文件), 95, 138~139
character special(字符特殊文件), 95, 138~139, 699
descriptor passing(文件描述符传递), 587, 642~652
descriptors(文件描述符), 8~10, 61~62
device special(设备特殊文件), 137~139
directory(目录文件), 95
group(组文件), 182~183
holes(文件空洞), 68~69, 111~112
mode creation mask(文件模式创建屏蔽字), 104~105,
129, 141, 169, 233, 252, 466
offset(文件偏移量), 66~68, 74, 77~78, 80, 231~232, 494,
522, 747~748, 908
ownership(文件所有权), 101~102
pointer(文件指针), 144
regular(普通文件), 95
sharing(文件共享), 74~77, 231
size(文件大小), 111~112
times(文件时间), 124~125, 532
truncation(文件截断), 112
types(文件类型), 95~98
FILE结构, 131, 143~144, 151, 164, 168, 171~172, 220, 235,
273, 443~444, 538, 542~543, 545, 547, 622, 701, 754,
803, 914, 929
file system(文件系统), 4, 113~116
devtmpfs, 139
ext2, 129
ext3, 129
ext4, 73, 86, 129, 465
HFS, 87, 113, 116
HSFS, 113
PCFS, 49, 57, 113
S5, 65
UFS, 49, 57, 65, 113, 116, 129
filename(文件名), 4
truncation(文件名截断), 65~66
FILENAME_MAX常量, 38
fileno函数, 164, 545, 701, 913
函数定义, 164
_FILE_OFFSET_BITS常量, 70
FILEPERM常量, 800, 825
files and directories(文件和目录), 4~8
FILESIZEBITS常量, 39, 44, 49
find程序, 124, 135, 252
finger程序, 141, 179, 910
FIOASYNC常量, 627, 939~940
FIOSETOWN常量, 627
FIPS, 32~33
Flandrena, B., 229, 952
<float.h>头文件, 27, 38
flock函数, 485
flock结构, 486, 489~490, 494
flockfile函数, 443~444
函数定义, 443
FLUSHO常量, 676, 680, 687
fmemopen函数, 171~175, 913
函数定义, 171
fmtmsg函数, 211, 452
<fmtmsg.h>头文件, 30
FNDELAY常量, 482
<fnmatch.h>头文件, 29
F_OK常量, 102
follow_link函数, 48
fopen函数, 6, 144, 148~150, 165, 220, 273, 452, 538~539,
542, 701, 803, 929
函数定义, 148
FOPEN_MAX常量, 38, 43
foreground process group(前台进程组), 296, 298, 300~303,
306, 311, 318~322, 369, 377, 680~682, 685, 689, 710,
719, 741, 944
foreground process group ID(前台进程组ID), 298, 303, 677
fork函数, 11~13, 19, 23, 77, 228~237, 241~243, 245~249,
254, 260~261, 264~266, 269~272, 274~275, 277, 282,
286, 288, 290~292, 294, 296, 304, 307~308, 312, 326,
331, 334, 370~372, 381, 457~462, 466~469, 471, 479,
491~493, 498~500, 527, 533~539, 541, 544, 546, 550,
557, 565, 577, 585, 588, 618~619, 642, 653~655, 658~659,
669~670, 716, 721, 723~724, 726~728, 732, 739, 781,
922~923, 927~928, 930~931, 934, 937, 939, 948
函数定义, 229
fork1函数, 229
forkall函数, 229
Fowler, G. S., 135, 949, 953
fpathconf函数, 37, 39, 41~48, 53~55, 65, 110, 452, 537, 679
函数定义, 42
FPE_FLTDIV常量, 353
FPE_FLTINV常量, 353
FPE_FLTOVF常量, 353
FPE_FLTRES常量, 353
FPE_FLTSUB常量, 353
FPE_FLTUND常量, 353
FPE_INTDIV常量, 353
FPE_INTOVF常量, 353
fpos_t数据类型, 58, 157
fprintf函数, 159, 452
函数定义, 159
fputc函数, 145, 152, 154~155, 452
函数定义, 152
fputs函数, 146, 150, 152~156, 164, 168, 174~175, 452,
543, 548, 550, 701, 901, 904, 911, 919, 926, 936
函数定义, 153
fputwc函数, 452
fputws函数, 452
F_RDLCK常量, 486~487, 489~490, 897, 930~931
fread函数, 150, 156~157, 269, 273, 452
函数定义, 156
free函数, 163, 174, 207~209, 330, 332, 401, 403~405, 407,
437~438, 450, 697, 762, 829, 833, 837, 842, 917
函数定义, 207
freeaddrinfo函数, 599, 833
函数定义, 599
FreeBSD , 3~4, 21, 26~27, 29~30, 34~36, 38, 49, 57, 60, 62, 64, 68,
70, 81, 83, 88, 95, 102, 108~111, 121, 129, 132, 138, 175, 178,
182, 184~185, 187~188, 209~212, 222, 225, 229, 240, 245,
253, 257, 260, 262, 269, 271, 276~277, 288~289, 292, 298,
303, 310, 314~316, 319, 322, 329, 334, 351, 355, 358, 371,
373, 377, 379~380, 385, 388, 393, 396, 409, 426~427, 433,
439, 473, 485, 492~493, 497, 499, 503, 527, 534, 559, 561,
567, 572, 576, 594~595, 607, 611~613, 627, 634, 648~649,
652, 675~678, 685~691, 716, 724, 726~727, 740~741, 744,
799, 911, 918, 930, 932~933, 935~936, 949, 951
freopen函数, 144, 148~140, 452
函数定义, 148
frequency scaling(频率调整), 785
fscanf函数, 162, 452
函数定义, 162
fsck程序, 122
fseek函数, 149, 157~159, 172, 452
函数定义, 158
fseeko函数, 157~159, 172, 452
函数定义, 158
F_SETFD常量, 82, 85, 90, 480, 592, 907
F_SETFL常量, 82~83, 85, 90, 511, 592, 627, 907, 944
F_SETLK常量, 82, 486~488, 490, 494, 897, 930~931
F_SETLKW常量, 82, 486, 488, 490, 897, 931
F_SETOWN常量, 82~83, 510, 592, 626~627, 939
fsetpos函数, 149, 157~159, 172, 452
函数定义, 158
fstat 函数, 4, 93~95, 120, 331, 452, 494, 498, 518,
529~530, 535, 586, 592, 698, 759, 808, 833
函数定义, 93
fstatat函数, 93~95, 331, 452
函数定义, 93
fsync函数, 61, 81, 86~87, 175, 331, 451, 513, 517, 528,
592, 787, 913
函数定义, 81
ftell函数, 157~159, 452
函数定义, 157
ftello函数, 157~159, 452
函数定义, 158
ftok函数, 557~558
函数定义, 557
ftpd程序, 472, 928
ftruncate函数, 112, 125, 331, 529~530, 592
函数定义, 112
ftrylockfile函数, 443~444
函数定义, 443
fts函数, 132
ftw函数, 122, 130~135, 131, 141
<ftw.h>头文件, 30
full-duplex pipes(全双工管道), 534
named(命名全双工管道), 496
timing(全双工管道的时间), 565
function prototypes(函数原型), 845~893
functions, system calls versus(系统调用与函数), 21~23
F_UNLCK常量, 486~487, 489~490, 897
funlockfile函数, 443~444
函数定义, 443
funopen函数, 175, 915
futimens函数, 125~128, 331, 452, 910
函数定义, 126
fwide函数, 144
函数定义, 144
fwprintf函数, 452
fwrite函数, 150, 155~157, 382, 452, 925
函数定义, 156
F_WRLCK常量, 486~487, 489~490, 494, 897, 931
fwscanf函数, 452
G
gai_strerror函数, 600, 616, 619, 621, 623
函数定义,600
Gallmeister, B. O., 949
Garfinkel, S., 181, 250, 298, 949
gather write(聚集写), 521, 644
gawk程序, 262
gcc程序, 6, 26, 58, 919
gdb程序, 928
gdbm库, 744
generic pointer(通用指针), 71, 208
getaddrinfo函数, 452, 599~601, 603~604, 614~616, 619,
621, 623, 802, 808
函数定义, 599
getaddrlist函数, 452, 599~601, 603~604, 614~616, 619,
621, 623, 802, 808
函数定义, 802
GETALL常量, 568
getc函数, 150~156, 164~165, 452, 701~702, 913
函数定义, 150
getchar函数, 150~151, 164, 175, 452, 547, 913
函数定义, 150
getchar_unlocked函数, 442, 444, 452
函数定义, 444
getconf程序, 70
getc_unlocked函数, 442, 444, 452
函数定义, 444
getcwd函数, 50, 135~137, 142, 208, 452, 911~912
函数定义, 136
getdate函数, 211, 442, 452
getdelim函数, 452
getegid函数, 228, 331
函数定义, 228
getenv函数, 204, 210~212, 442, 444~446, 449~450, 462,
539, 928
函数定义, 210
getenv_r函数, 445~446 geteuid函数, 228, 257, 268, 331, 650, 809
函数定义, 228
getgid函数, 17, 228, 331
函数定义, 228
getgrent函数, 183~184, 442, 452
函数定义, 183
getgrgid函数, 182, 442, 452
函数定义, 182
getgrgid_r函数, 443, 452
getgrnam函数, 182, 442, 452
函数定义, 182
getgrnam_r函数, 443, 452
getgroups函数, 184, 331
函数定义, 184
gethostbyaddr函数, 597, 599
gethostbyname函数, 597, 599
gethostent函数, 442, 452, 597
函数定义, 597
gethostid函数, 452
gethostname函数, 39~40, 43, 188, 452, 616~618, 623, 815
函数定义, 188
getline函数, 452
getlogin函数, 275~276, 442, 452, 480, 929~930
函数定义, 275
getlogin_r函数, 443, 452
getmsg函数, 740
getnameinfo函数, 452, 600
函数定义, 600
GETNCNT常量, 568
getnetbyaddr函数, 442, 452, 598
函数定义, 598
getnetbyname函数, 442, 452, 598
函数定义, 598
getnetent函数, 442, 452, 598
函数定义, 598
get_newjobno函数, 814, 820, 825, 843
函数定义, 820
getopt函数, 442, 452, 662~664, 669, 730~731, 807~808
函数定义, 662
getpass函数, 287, 298, 700, 702~703
函数定义, 701
getpeername函数, 331, 605
函数定义, 605
getpgid函数, 293~294
函数定义, 294
getpgrp函数, 293, 331
函数定义, 293
GETPID常量, 568
getpid函数, 11, 228, 230, 235, 272, 308, 331, 366, 378,
387, 474, 650, 939
函数定义, 228
getppid函数, 228~229, 331, 491, 732
函数定义, 228
get_printaddr函数, 800, 804, 819
函数定义, 804
get_printserver函数, 800, 804, 808
函数定义, 804
getpriority函数, 277
函数定义, 277
getprotobyname函数, 442, 452, 598
函数定义, 598
getprotobynumber函数, 442, 452, 598
函数定义, 598
getprotoent函数, 442, 452, 598
函数定义, 598
getpwent函数, 180~181, 442, 452
函数定义, 180
getpwnam函数, 177~181, 186, 276, 287, 330~332, 442,
452, 816, 918
函数定义, 179~180
getpwnam_r函数, 443, 452
getpwuid函数, 177~181, 186, 275~276, 442, 452, 809, 918
函数定义, 179
getpwuid_r函数, 443, 452
getresgid函数, 257
getresuid函数, 257
getrlimit函数, 53, 220, 224, 466~467, 906~907
函数定义, 220
getrusage函数, 245, 280
gets函数, 152~153, 911
函数定义, 152
getservbyname函数, 442, 452, 599
函数定义, 599
getservbyport函数, 442, 452, 599
函数定义, 599
getservent函数, 442, 452, 599
函数定义, 599
getsid函数, 296
函数定义, 296
getsockname函数, 331, 605
函数定义, 605
getsockopt函数, 331, 624~625
函数定义, 624
getspent函数, 182
函数定义, 182
getspnam函数, 182, 918
函数定义, 182
gettimeofday函数, 190, 414, 421, 437, 439
函数定义, 190
getty程序, 238, 286~288, 290, 472
gettytab文件, 287
getuid函数, 17, 228, 257, 268, 275~276, 331
函数定义, 228
getutxent函数, 442, 452
getutxid函数, 442, 452
getutxline函数, 442, 452
GETVAL常量, 568
getwc函数, 452
getwchar函数, 452
GETZCNT常量, 568
Ghemawat, S., 949
GID, 见group ID
gid_t数据类型, 59
Gingell, R. A., 206, 525, 949
glob函数, 452
global variables(全局变量), 219
<glob.h>头文件, 29
gmtime函数, 191~192, 442
函数定义, 192
gmtime_r函数, 443
GNU , 2, 289, 753
GNU Public License(GNU公用许可证), 35
Goodheart, B., 712, 949
Google, 210
goto, nonlocal(非本地goto跳转), 213~220, 355~358
grantpt函数, 723~725
函数定义, 723
grep程序, 20, 174, 200, 252, 949~950
group file(组文件), 182~183
group ID(组ID), 17, 255~260
effective(有效组ID), 98~99, 101~102, 108, 110, 140, 183,
228, 233, 256, 258, 558, 587
real(实际组ID), 98, 102, 183, 228, 233, 252~253, 256, 270, 585
supplementary(附属组 ID), 18, 39, 98, 101, 108, 110,
183~184, 233, 252, 258
group结构, 182
<grp.h>头文件, 29, 182, 186
guardsize属性, 427, 430
H
hack, 303, 842
half-duplex pipes(半双工管道), 534
handle_request函数, 656, 665~666, 668
函数定义, 657, 668
hard link(硬链接), 4, 114, 117, 120, 122
hard links and directories(硬链接和目录), 117, 120
hcreate函数, 442
hdestroy函数, 442
headers
optional(可选头文件), 30
POSIX required(POSIX要求的头文件), 29
standard(标准头文件), 27
XSI option(XSI可选头文件), 30
heap(堆), 205
Hein, T. R., 951
Hewlett-Packard , 35, 835
HFS文件系统, 87, 113, 116
holes, file(文件空洞), 68~69, 111~112
home directory(起始目录), 2, 8, 135, 211, 288, 292
HOME环境变量, 210~211, 288
hostent结构, 597
hostname程序, 189
HOST_NAME_MAX常量, 40, 43, 49, 188, 615~618, 622~623,
800, 815
HP-UX, 35
hsearch函数, 442
HSFS文件系统, 113
htonl函数, 594, 810, 824~827, 834
函数定义, 594
htons函数, 594, 831, 834
函数定义, 594
HTTP(Hypertext Transfer Protocol,超文本传输协议),
792~793
Hume, A. G., 174, 949
HUPCL常量, 675, 687
Hypertext Transfer Protocol, 见HTTP
I
IBM(International Business Machines,国际商业机器公司), 35
ICANON 常量, 676, 678, 680~682, 686~687, 691, 703,
705~707
iconv_close函数, 452
<iconv.h>头文件, 29
iconv_open函数, 452
ICRNL常量, 676, 680, 688, 700, 706~708
identifiers
IPC(IPC标识符), 556~558
process(进程标识符), 227~228
IDXLEN_MAX常量, 779
IEC(International Electrotechnical Commission,国际电工
委员会), 25
IEEE(Institute for Electrical and Electronic Engineers,电气
和电子工程师学会), 26~27, 950
IEXTEN常量, 676, 678, 680~682, 688, 706~708
I_FIND常量, 725~726
IFS环境变量, 269
IGNBRK常量, 676, 685, 688
IGNBRK常量, 676, 680, 688, 700
IGNPAR常量, 676, 688, 690
ILL_BADSTK常量, 353
ILL_COPROC常量, 353
ILL_ILLADR常量, 353
ILL_ILLOPC常量, 353
ILL_ILLOPN常量, 353
ILL_ILLTRP常量, 353
ILL_PRVOPC常量, 353
ILL_PRVREG常量, 353
IMAXBEL常量, 676, 688
implementation differences, password(口令文件实现区别),
184~185
implementations, UNIX System(UNIX系统实现), 33
IMAXBEL常量, 605
in_addr_t数据类型, 595
incore(主存), 74, 152
INET6_ADDRSTRLEN常量, 596
inet_addr函数, 596
INET_ADDRSTRLEN常量, 596, 603~604
inetd程序, 291, 293, 465, 470, 472
inet_ntoa函数, 442, 596
inet_ntop函数, 596, 604
函数定义, 596
inet_pton函数, 596
函数定义, 596
INFTIM常量, 508
init程序, 187, 189, 228, 237~238, 246, 270, 286~291, 293,
307, 309, 312, 320, 337, 379, 464~465, 475, 923, 930
initgroups函数, 184, 288
函数定义, 184
initialized data segment(初始化的数据段), 205
init_printer函数, 814, 816, 819, 833
函数定义, 819
init_request函数, 814, 816, 818
函数定义, 818
initserver函数, 615~617, 619, 622~623, 800, 816
函数定义, 609, 625
inittab文件 , 320
INLCR常量, 676, 688
i-node(i节点), 59, 75~77, 94, 108, 113~116, 120, 124, 127,
130~131, 138~139, 179, 253, 493, 698, 905, 910
ino_t数据类型, 59, 114
INPCK常量, 676, 688, 690, 706~708
in_port_t数据类型, 595
Institute for Electrical and Electronic Engineers, 见IEEE
int16_t数据类型, 831
International Business Machines, 见IBM
International Electrotechnical Commission, 见IEC
International Standards Organization, 见ISO
Internet Printing Protocol, 见IPP
Internet worm(因特网蠕虫), 153
interpreter file(解释文件), 260~264, 283
interprocess communication, 见IPC
interrupted system calls(中断的系统调用), 327~330, 343,
351, 354~355, 365, 508
INT_MAX常量, 37~38
INT_MIN常量, 37~38
INTR terminal character(INTR终端字符), 678, 681, 688, 701
<inttypes.h>头文件, 27
I/O
asynchronous(异步I/O), 501, 509~520
asynchronous socket(异步套接字I/O), 627
efficiency(I/O效率), 72~74
library, standard(标准I/O库), 10, 143~175
memory-mapped(内存映像I/O), 525~531
multiplexing(I/O多路转接), 500~509
nonblocking(非阻塞I/O), 481~484
nonblocking socket(非阻塞套接字I/O), 608~609, 627
terminal(终端I/O), 671~713
unbuffered(不带缓冲的I/O), 8, 61~91
IOBUFSZ常量, 836
ioctl函数, 61, 87~88, 90, 297~298, 322, 328~329, 452,
482, 510, 562, 592, 627, 674, 710~711, 718~719,
725~728, 730, 740~742, 939~940
函数定义, 87
_IOFBF常量, 147
_IOLBF常量, 147, 166, 220
_IO_LINE_BUF常量, 165
_IONBF常量, 147, 166
_IO_UNBUFFERED常量, 165
iovec结构, 41, 43, 521, 611, 646~647, 649, 651, 655, 659,
765, 771~772, 832, 836
IOV_MAX常量, 41, 43, 49, 521
IPC(interprocess communication,进程间通信), 533~588,
629~670
identifiers(IPC标识符), 556~558
key(IPC键), 556~558, 562, 567, 572
XSI , 556~560
IPC_CREAT常量, 558, 632, 941
IPC_EXCL常量, 558
IPC_NOWAIT常量, 563~564, 569~570
ipc_perm结构, 558, 562, 567, 572, 587
IPC_PRIVATE常量, 557~558, 575, 586, 588
ipcrm程序, 559
IPC_RMID常量, 562~563, 568, 573~575
ipcs程序, 559, 588
IPC_SET常量, 562~563, 568, 573
IPC_STAT常量, 562~563, 568, 573
IPP(Internet Printing Protocol,因特网打印协议), 789~792
ipp.h头文件, 843
ipp_hdr结构, 798, 832, 834, 838, 842
IPPROTO_ICMP常量, 591
IPPROTO_IP常量, 591, 624
IPPROTO_IPV6常量, 591
IPPROTO_RAW常量, 591, 602
IPPROTO_TCP常量, 591, 602, 624
IPPROTO_UDP常量, 591, 602
I_Push常量, 725~726
IRIX, 35
isalpha函数, 516
isatty函数, 679, 695, 698~699, 711, 730, 738
函数定义, 695
isdigit函数, 839~840
I_SETSIG常量, 510
ISIG常量, 676, 678, 680~682, 688, 706~708
ISO(International Standards Organization,国际标准化组
织), 25~27, 950
ISO C , 25~26, 153, 950
<iso646.h>头文件, 27
is_read_lockable函数, 490, 897
isspace函数, 839~840
ISTRIP常量, 676, 688, 690, 706~708
is_write_lockable函数, 490, 897
IUCLC常量, 676, 688
IUTF8常量, 676, 689
IXANY常量, 676, 689
IXOFF常量, 676, 681~682, 689
IXON常量, 676, 681~682, 689, 706~708
J
jemalloc, 210
jmp_buf数据类型, 216, 218, 340, 343
job control(作业控制), 299~303
shell(作业控制shell程序), 294, 299, 306~307, 325, 358,
377, 379, 734~735
signals(作业控制信号), 377~379
job结构, 812~813, 820~821, 832
job_append函数定义, 411
job_find函数, 927
函数定义, 412
job_insert函数定义, 411
job_remove函数, 869
函数定义, 412
Jolitz, W. F., 34
Joy, W. N , 3, 76
jsh程序, 299
K
Karels, M. J., 33~34, 74, 112, 116, 229, 236, 525, 951
kernel(内核), 1
Kernighan, B. W., 26, 149, 155, 162, 164, 208, 262, 898, 906,
947, 950
Kerrisk, M., 950
key, IPC(IPC键), 556~558, 562, 567, 572
key_t数据类型, 557, 633
kill函数, 18, 272, 308, 314, 325, 331, 335~338, 353, 363,
366~367, 376, 378~379, 381, 455, 679, 681, 702,
732~733, 924, 932
函数定义, 337
kill程序, 314~315, 321, 325, 551
KILL terminal character(KILL终端字符), 678, 681, 687,
702~703
kill_workers函数, 814, 828~830
函数定义, 828
Kleiman, S. R., 76, 950
Knuth, D. E., 422, 764, 950
Korn shell, 3, 53, 90, 210, 222, 289, 299, 497, 548, 702,
733~734, 737, 935, 948
Kovach, K. R., 560, 947
Krieger, O., 174, 531, 950
L
l64a函数, 442 LANG环境变量, 41, 211
<langinfo.h>头文件, 29
last程序, 187
launchctl程序, 293
launchd程序, 228, 259, 289, 292, 465
layers, shell(shell层), 299
LC_ALL环境变量, 211
LC_COLLATE环境变量, 43, 211
LC_CTYPE环境变量, 211
lchown函数, 109~110, 121, 125
函数定义, 109
LC_MESSAGES环境变量, 211
LC_MONETARY环境变量, 211
LC_NUMERIC环境变量, 211
L_ctermid常量, 694
LC_TIME环境变量, 211
ld程序, 206
LDAP(Lightweight Directory Access Protocol,轻量级目录访问协议), 185
LD_LIBRARY_PATH环境变量, 753
ldterm STREAMS module(ldterm STREAMS模块), 716, 726
leakage, memory(内存泄漏), 209
least privilege(最小优先权), 256, 795, 816
Lee, M., 206, 949
Lee, T. P., 948
Leffler, S. J., 34, 951
Lennert, D., 951
Lesk, M. E., 143
lgamma函数, 442
lgammaf函数, 442
lgammal函数, 442
Libes, D., 720, 924, 951
<libgen.h>头文件, 30
libraries, shared(共享库), 206~207, 226, 753, 920, 947
Lightweight Directory Access Protocol, 见LDAP
limit程序, 53, 222
limits(限制), 36~53
C(C限制), 37~38
POSIX(POSIX限制), 38~41
resource(资源限制), 220~225, 233, 252, 322, 382
runtime indeterminate(未确定的运行时限制), 49~53
XSI(XSI限制), 41
<limits.h>头文件, 27, 37, 39, 41, 49~50
line control, terminal I/O(终端I/O行控制), 693~694
LINE_MAX常量, 39, 43, 49
LINES环境变量, 211
link
count(链接计数), 44, 59, 114~117, 130
hard(硬链接), 4, 114, 117, 120, 122
symbolic(符号链接), 55, 94~95, 110~111, 114, 118,
120~123, 131, 137, 141, 186, 908~909
link函数, 79, 115~119, 121~122, 125, 331, 452
函数定义, 116
linkat函数, 116~119, 331, 452
函数定义, 116
LINK_MAX常量, 39, 44, 49, 114
lint程序, 200
Linux , 2~4, 7, 14, 21, 26~27, 29~30, 35~38, 49, 52, 57, 60, 62,
64~65, 70, 73, 75~76, 86~89, 102, 108~111, 121~122,
129, 132, 138, 173, 178, 182, 184~185, 187~188, 205, 209,
211~212, 222, 226, 229, 240, 244~245, 253, 257,
259~260, 262, 269, 271, 274, 276~277, 288~290, 293,
298, 303, 306, 314~316, 318~320, 322, 329, 334~335,
351, 354~355, 358, 371, 373, 377, 379~380, 385, 388, 392,
396, 409, 426~427, 432~433, 439, 462, 464~465,
473~474, 485, 496~497, 503, 522, 530~531, 534, 559,
561, 567, 571~573, 575~576, 578, 583, 594~596, 607,
611~613, 627, 634, 648~650, 652, 675~678, 684~691,
693, 716, 724, 726~727, 740~741, 744, 753, 783, 793, 799,
911, 918, 925, 930, 932, 935~936
Linux Fast-STREAMS, 534
LinuxThreads, 388
lio_listio函数, 452, 515
函数定义, 515
LIO_NOWAIT常量, 515
Lions, J., 951
LIO_WAIT常量, 515
listen函数, 331, 605, 608~609, 625, 635, 638, 800
函数定义, 608
little-endian byte order(小端字节序), 593
Litwin, W., 744, 750, 951
LLONG_MAX常量, 37
LLONG_MIN常量, 37
ln程序, 115
LNEXT terminal character(LNEXT终端字符), 678, 681
locale(区域), 43
localeconv函数, 442
<locale.h>头文件, 27
localtime函数, 190~192, 194~195, 264, 408, 442, 452, 919
函数定义, 192
localtime_r函数, 443, 452
lockf函数, 451~452, 485
lockf结构, 493
lockfile函数, 473~474
函数定义, 494
locking
database library, coarse-grained(数据库函数库粗粒度锁), 752
database library, fine-grained(数据库函数库细粒度锁), 752
locking函数, 485
lock_reg函数, 489, 897, 930~931
函数定义, 489
locks
reader-writer(读写锁), 409~413
spin(自旋锁), 417~418
lock_test函数, 489~490, 897
函数定义, 489
log函数, 470
LOG_ALERT常量, 472
LOG_AUTH常量, 472
LOG_AUTHPRIV常量, 472
LOG_CONS常量, 468, 471
LOG_CRIT常量, 472
LOG_CRON常量, 472
LOG_DAEMON常量, 468, 472
LOG_DEBUG常量, 472
LOG_EMERG常量, 472
LOG_ERR常量, 472, 474~476, 478~479, 615~619, 622~623,
902~903
log_exit函数, 817, 898~899
函数定义, 903
LOG_FTP常量, 472
logger程序, 471
login accounting(登录记载), 186~187
.login文件, 289
login name(登录名), 2, 17, 135, 179, 187, 211, 275~276,
290, 480, 930
root(超级用户), 16
login 程序, 179, 182, 184, 187, 251, 254, 256, 276,
287~290, 292, 472, 700, 717, 738
LOG_INFO常量, 472, 476, 478
LOGIN_NAME_MAX常量, 40, 43, 49
logins(登录)
network(网络登录), 290~293
terminal(终端登录), 285~290
LOG_KERN常量, 472
LOG_LOCAL0常量, 472
LOG_LOCAL1常量, 472
LOG_LOCAL2常量, 472
LOG_LOCAL3常量, 472
LOG_LOCAL4常量, 472
LOG_LOCAL5常量, 472
LOG_LOCAL6常量, 472
LOG_LOCAL7常量, 472
LOG_LPR常量, 472
LOG_MAIL常量, 472
log_msg函数, 897, 899
函数定义, 903
LOGNAME环境变量, 211, 276, 288
LOG_NDELAY常量, 471, 928
LOG_NEWS常量, 472
LOG_NOTICE常量, 472
log_open函数, 664, 898
函数定义, 902
LOG_PERROR常量, 471
LOG_PID常量, 471, 664
log_quit函数, 830, 898~899
函数定义, 903
log_ret函数, 898~899
函数定义, 902
log_sys函数, 804, 898~899
函数定义, 902
LOG_SYSLOG常量, 472
log_to_stderr变量, 664, 807, 813, 902, 904
LOG_USER常量, 472, 664
LOG_WARNING常量, 472
LONG_BIT常量, 38
_longjmp函数, 355, 358
longjmp函数, 197, 213, 215~219, 225, 330~331, 340~341,
343, 355~358, 365, 381, 924
函数定义, 215
LONG_MAX常量, 37, 52~53, 60, 420, 906~907
LONG_MIN常量, 37
loop函数, 663~664, 666, 670, 732, 742
函数定义, 666, 732
lp程序, 585, 793
lpc程序, 472
lpd程序, 472, 793
lpsched程序, 585, 793
lrand48函数, 472
ls程序, 5~8, 13, 107~108, 112, 123, 125, 131, 135, 139,
141, 177, 179, 559, 905
lseek函数, 8, 59, 61, 66~70, 77~79, 88, 91, 149, 158, 331,
452, 462, 486, 489, 498, 592, 670, 765~766, 768, 771,
773, 779, 819, 908
函数定义, 67
lstat函数, 97, 121~122, 133, 141, 331, 452, 942
函数定义, 93
L_tmpnam常量, 168
M
Mac OS X, 3~4, 17, 26~27, 29~30, 35~36, 38, 49, 57, 60, 62,
64, 70, 83, 87~88, 102, 108~111, 113, 121, 129, 132, 138,
175, 178, 182, 184~185, 187~188, 193, 209, 211~212, 222,
228, 240, 244~245, 260, 262, 269, 271, 276~277, 288~289,
292~293, 298, 303, 314~317, 319, 322, 329, 334, 351, 355,
371, 373, 377, 379~380, 385, 388, 393, 396, 409, 426~427,
464~465, 485, 497, 503, 522, 534, 559, 561, 567, 572, 576,
594, 607, 611~613, 627, 634, 648, 675~678, 685~691, 716,
724, 726~727, 740~741, 744, 793, 799, 911, 918, 925, 930,
932, 935~936
Mach, 35, 947
<machine/_types.h>头文件, 906
macro, feature test(功能测试宏), 57~58, 84
MAILPATH环境变量, 210
main函数, 7, 150, 155, 197~200, 202, 204, 215~217, 226,236~237, 249, 283, 330~332, 357~358, 468, 654, 656, 663, 729, 739, 811, 814, 817, 824, 830, 833, 919, 921, 939, 944
major device number(主设备号), 58~59, 137, 139, 465, 699 major函数, 138~139
make程序, 300
makethread函数, 436, 438~439
mallinfo函数, 209
malloc函数, 21~23, 51, 136, 145, 174, 207~210, 213, 330,
332, 392, 400~401, 403, 405, 429, 437, 447, 450, 575,
616, 618, 623, 646~647, 650~651, 661~662, 666, 696,
760~761, 815, 820, 828, 839, 926, 928
函数定义, 207
MALLOC_OPTIONS环境变量, 928
mallopt函数, 209
mandatory record locking(强制性记录锁), 495
MAP_ANON常量, 578
MAP_ANONYMOUS常量, 578
MAP_FAILED常量, 529, 577
MAP_FIXED常量, 526~527
MAP_PRIVATE常量, 526, 528, 578
MAP_SHARED常量, 526~529, 576~578
<math.h>头文件, 27
Mauro, J., 74, 112, 116, 951
MAX_CANON常量, 39, 44, 47, 49, 673
MAX_INPUT常量, 39, 44, 49, 672
MAXPATHLEN常量, 49
MB_LEN_MAX常量, 37
mbstate_t结构, 442
McDougall, R., 74, 112, 116, 951
McKusick, M. K., 33~34, 74, 112, 116, 229, 236, 525, 951
MD5, 181
MDMBUF常量, 675, 685, 689
memccpy 函数, 155
memcpy函数, 530~531, 916
memory
allocation(内存分配), 207~210
layout(内存布局), 204~206
leakage(内存泄漏), 209
shared(共享内存), 534, 571~578
memory-mapped I/O(内存映射I/O), 525~531
memset函数, 172~173, 614, 616, 618, 621, 623
Menage, P., 949
message queues(消息队列), 534, 561~565
timing(消息队列时间), 565
mgetty程序, 290
MIN terminal value(MIN终端值), 687, 703~704, 708, 713, 943
minor device number(次设备号), 58~59, 137, 139, 465, 699
minor函数, 138~139
mkdir函数, 101~102, 120~122, 125, 129~130, 331, 452, 912函数定义, 129
mkdir程序, 129
mkdirat函数, 129~130, 331, 452
函数定义, 129
mkdtemp函数, 167~171, 452
函数定义, 169
mkfifo函数, 120~121, 125, 331, 452, 553, 937
函数定义, 553
mkfifo程序, 553
mkfifoat函数, 331, 452, 553
函数定义, 553
mknod函数, 120~121, 129, 331, 452, 553
mknodat函数, 331, 452, 553
mkstemp函数, 167~171, 452
函数定义, 169
mktime函数, 190, 192, 195, 452
函数定义, 192
mlock函数, 221
mmap函数, 174, 221, 429, 481, 525, 527, 529~532, 576~578,
587, 592, 949
函数定义, 525
modem(调制解调器), 285, 287, 297, 318, 328, 481, 508,
671, 674~675, 685, 687, 689, 692
mode_t数据类型, 59
<monetary.h>头文件, 29
Moran, J. P., 525, 949
more程序, 543, 748
Morris, R., 181, 951
mount程序, 102, 129, 139, 496
mounted STREAMS-based pipes(装配的基于 STREAMS的管道), 534
mprotect函数, 527
函数定义, 527
mq_receive函数, 451
mq_send函数, 451
mq_timedreceive函数, 451
mq_timedsend函数, 451
<mqueue.h>头文件, 30
mrand48函数, 442
MS_ASYNC常量, 528
MSG_CONFIRM常量, 611
msgctl函数, 558~559, 562
函数定义, 562
MSG_CTRUNC常量, 613
MSG_DONTROUTE常量, 611
MSG_DONTWAIT常量, 611
MSG_EOR常量, 611
MSG_EOR常量, 611, 613
msgget函数, 557~562, 632~633, 941
函数定义, 562
msghdr结构, 611, 613, 644, 646~647, 649, 651
MSG_MORE常量, 611
MSG_NOERROR常量, 564, 631, 941
MSG_NOSIGNAL常量, 611
MSG_OOB常量, 611~613, 626
MSG_PEEK常量, 612
msgrcv函数, 451, 558~559, 561, 564, 585, 631, 941
函数定义, 564
msgsnd函数, 451, 558, 560~561, 563~565, 633
函数定义, 563
MSG_TRUNC常量, 612~613
MSGVERB环境变量, 211
MSG_WAITALL常量, 612
MS_INVALIDATE常量, 528
msqid_ds结构, 561~562, 564
MS_SYNC常量, 528, 530
msync函数, 451, 528, 530
函数定义, 528
Mui, L., 712, 953
multiplexing, I/O(I/O 多路转接), 500~509
munmap函数, 528~529
函数定义, 528
mutex attributes(互斥量属性), 430~439
mutex timing comparison(互斥量时间比较), 571
mutexes(互斥量), 399~409
mv程序, 115
myftw函数, 133, 141
N
named full-duplex pipes(命名全双工管道), 534
NAME_MAX常量, 38~39, 44, 49, 55, 65, 131
nanosleep函数, 373~375, 437, 439, 451, 462, 837, 934
函数定义, 374
Native POSIX Threads Library, 见NPTL
nawk程序, 262
NCCS常量, 674
ndbm库, 744
<ndbm.h>头文件, 30
Nemeth, E., 951
<netdb.h>头文件, 29, 186
netent结构, 598
<net/if.h>头文件, 29
<netinet/in.h>头文件, 29, 595, 605
<netinet/tcp.h>头文件, 29
Network File System, Sun Microsystems, 见NFS
Network Information Service, 见NIS
network logins(网络登录), 290~293
network printer communication(网络打印机通信), 789~843
Neville-Neil, G. V., 74, 112, 116, 951
newgrp程序, 183
nfds_t数据类型, 507
_NFILE常量, 51
NFS(Network File System, Sun Microsystems,Sun
Microsystems网络文件系统), 76, 787
nftw函数, 122, 131~132, 135, 442, 452, 910
NGROUPS_MAX常量, 39, 43, 49, 183~184
nice函数, 276~277
函数定义, 276
nice值, 252, 276~277, 279
Nievergelt, J., 744, 750, 949
NIS(Network Information Service,网络信息服务), 185
NIS+, 185
NL terminal character(NL终端字符), 678, 680~681, 687,
700, 703
NL0常量, 689
NL1常量, 689
NL_ARGMAX常量, 39
NLDLY常量, 676, 684, 689
nlink_t数据类型, 59, 114
nl_langinfo函数, 442
NL_LANGMAX常量, 41
NL_MSGMAX常量, 39
NL_SETMAX常量, 39
NLSPATH环境变量, 211
NL_TEXTMAX常量, 39
<nl_types.h>头文件, 29
nobody login name(nobody登录名), 178~179
NOFILE常量, 51
NOFLSH常量, 676, 689
NOKERNINFO常量, 676, 682, 689
nologin程序, 179
nonblocking(非阻塞)
I/O(非阻塞I/O), 481~484
socket I/O(非阻塞套接字I/O), 608~609, 627
noncanonical mode, terminal I/O(终端 I/O 规范模式),
703~710
nonfatalerror(非致命性)错误, 16
nonlocal goto(非局部goto), 213~220, 355~358
NPTL(Native POSIX Threads Library,Native POSIX线程库), 388
ntohl函数, 594, 811, 825, 842
函数定义, 594
ntohs函数, 594, 604, 842
函数定义, 594
NULL常量, 823
null signal(null信号), 314, 337
NZERO常量, 41, 276~277
O
O_ACCMODE常量, 83~84
O_APPEND常量, 63, 66, 72, 77~78, 83~84, 149, 497, 511
O_ASYNC常量, 83, 511, 627
O_CLOEXEC常量, 63
O_CREAT 常量, 63, 66, 79, 89, 121, 125, 474, 496~498,
517~518, 529, 558, 579~580, 584, 749, 758, 818, 930
OCRNL常量, 676, 689
od程序, 69
O_DIRECT常量, 150
O_DIRECTORY常量, 63
O_DSYNC常量, 64, 83, 513
O_EXCL常量, 63, 79, 121, 558, 580, 584
O_EXEC常量, 83
OFDEL常量, 677, 684, 689
off_t数据类型, 59, 67~70, 157~158, 772
OFILL常量, 676, 684, 689
O_FSYNC常量, 64, 83~84
OLCUC常量, 676, 689
Olson, M., 952
O_NDELAY常量, 36, 63, 482
ONLCR常量, 676, 690, 731, 738
ONLRET常量, 676, 690
ONOCR常量, 676, 690
O_NOCTTY常量, 63, 297~298, 466, 723~724, 726
ONOEOT常量, 676, 690
O_NOFOLLOW常量, 63
O_NONBLOCK常量, 36, 63, 83~84, 482~483, 496, 498, 553,
611~612, 934, 937
open 函数, 8, 14, 61~66, 77, 79, 83, 89, 91, 100~101,
103~104, 112, 118, 120~125, 127~128, 137, 148~150,
283, 287, 297~298, 331, 451, 468, 470, 474, 482,
492~493, 495~498, 517~518, 525, 529, 553, 556, 558,
560, 577~578, 585, 588, 592, 653, 656~657, 669~670,
685, 723, 725~726, 745, 757~758, 808, 818, 823, 833,
907, 909, 930, 937
open函数定义, 62
Open Group, The, 31, 196, 950
Open Software Foundation, 见OSF
openat函数, 62~66, 331, 451
函数定义, 62
opend.h头文件, 656, 660, 942
opendir函数, 5, 7, 121, 130~135, 252~253, 283, 452, 697,
822, 910
函数定义, 130
openlog函数, 452, 468, 470~471, 480, 902, 928
函数定义, 470
OPEN_MAX常量, 40, 43, 49, 51~53, 60, 62, 906
open_max函数, 466, 544, 546, 666, 896
函数定义, 52, 907
open_memstream函数, 171~174
函数定义, 173
OpenServer, 485
OpenSS7, 534
open_wmemstream函数, 171~174
函数定义, 173
OPOST常量, 676, 690, 706~708, 710
optarg变量, 663
opterr变量, 663
optind变量, 808
option codes(选项代码), 31
options(选项), 53~57
socket(套接字选项), 623~625
optopt变量, 663
Oracle公司, 35
O_RDONLY常量, 62, 83~84, 100, 103, 517~518, 529, 654,
808, 833, 937
O_RDWR常量, 62, 83~84, 100, 128, 468, 474, 498, 517~518,
529, 577, 723, 725, 749, 818, 930
O’Reilly, T., 712, 953
orientation, stream(流定向), 144
orphaned process group(孤儿进程组), 307~309, 469, 735
O_RSYNC常量, 64, 83
O_SEARCH常量, 63, 83
OSF(Open Software Foundation,开放软件基金会), 31~32
O_SYNC常量, 63~64, 83~84, 86~87, 513, 520
O_TRUNC常量, 63, 66, 100, 112, 125, 127~128, 149, 496,
498, 517~518, 529, 749
O_TTY_INIT常量, 64, 683, 722
out-of-band data(带外数据), 626
ownership
directory(目录所有权), 101~102
file(文件所有权), 101~102
O_WRONLY常量, 62, 83~84, 100, 937
OXTABS常量, 676, 690
P
packet mode, pseudo terminal(伪终端打包模式), 740
page cache(页缓存), 81
page size(页大小), 573
page daemon process(页守护进程进程), 228
PAGER环境变量, 539, 542~543
PAGESIZE常量, 40, 43, 49
PAGE_SIZE常量, 41, 43, 49
P_ALL常量, 244
PARENB常量, 675, 688, 690, 706~708
parent
directory(父目录), 4, 108, 125, 129
process ID(父进程 ID), 228, 233, 237, 243, 246, 252,
287~288, 309, 464
PAREXT常量, 675, 690
parity, terminal I/O(终端I/O奇偶性), 688
PARMRK常量, 676, 685, 688, 690
PARODD常量, 675, 685, 688, 690, 713
passing, file descriptor(传送文件描述符), 587, 642~652
passwd程序, 99, 182, 720
passwd结构, 177, 180, 332, 809, 814, 918
password
file(口令文件), 177~181
implementation differences(口令实现差别), 184~185
shadow(阴影口令), 181~182, 196, 918
PATH 环境变量, 100, 211, 250~251, 253, 260, 263, 265,
288~289
path_alloc函数, 133, 137, 896, 912
函数定义, 50
pathconf函数, 37, 39, 41~48, 50~51, 53~55, 57, 65, 110,
121, 452, 537
函数定义, 42
PATH_MAX常量, 38~39, 44, 49~50, 142, 911
pathname(路径名), 5
absolut(e 绝对路径名), 5, 8, 43, 50, 64, 136, 141~142, 260,
553, 911
relative(相对路径名), 5, 8, 43~44, 50, 64~65, 135, 553
truncation(路径截断), 65~66
pause函数, 324, 327~328, 331, 334, 338~343, 356, 359,
365, 374, 451, 460, 711, 924, 930~931
函数定义, 338
P_PC_2_SYMLINKS常量, 55
_PC_ASYNC_IO常量, 55
_PC_CHOWN_RESTRICTED常量, 55
_PC_FILESIZEBITS常量, 42, 44
PCFS文件系统, 49, 57, 113
pckt STREAMS模块, 716, 740
_PC_LINK_MAX常量, 42, 44
pclose函数, 267, 452, 541~548, 616, 622, 935~937
函数定义, 541, 545
_PC_MAX_CANON常量, 42, 44, 47
_PC_MAX_INPUT常量, 42, 44
_PC_NAME_MAX常量, 42, 44
_PC_NO_TRUNC常量, 55, 57
_PC_PATH_MAX常量, 43~44, 51
_PC_PIPE_BUF常量, 44
_PC_PRIO_IO常量, 55
_PC_SYMLINK_MAX常量, 44
_PC_SYNC_IO常量, 55
_PC_TIMESTAMP_RESOLUTION常量, 42, 44
_PC_VDISABLE常量, 54~55, 679
PENDIN常量, 676, 690
permissions, file access(文件访问权限), 99~101, 140
perror函数, 15~16, 24, 334, 379, 452, 600, 905
函数定义, 15
pgrp结构, 311~312
PID, 见process ID
pid_t数据类型, 11, 59, 293, 384
Pike, R., 229, 950, 952
pipe函数, 125, 148, 331, 535, 537~538, 540, 544, 546, 550,
565, 630, 934
函数定义, 535
PIPE_BUF常量, 39, 44, 49, 532, 537, 554~555, 935
pipes(管道), 534~541
full-duplex(全双工管道), 534
half-duplex(半双工管道), 534
mounted STREAMS-based(装配的基于STREAMS的管道), 534
named full-duplex(命名全双工管道), 534
timing full-duplex(全双工管道时间), 565
Pippenger, N., 744, 750, 949
Plan 9 operating system(Plan 9操作系统), 229, 952
Plauger, P. J., 26, 164, 323, 952
pointer, generic(通用指针), 71, 208
poll 函数, 319, 330~331, 343, 451, 481, 501~502,
506~509, 531~532, 560, 586, 588, 592, 608~609, 627,
631~632, 659, 664, 666~668, 718, 732, 742, 933~934,
936~937, 942
函数定义, 506
POLLERR常量, 508
pollfd结构, 507, 632, 666, 668, 934, 941
<poll.h>头文件, 29, 507
POLLHUP常量, 508, 667~668, 936
POLLIN常量, 508, 632, 666~668, 936, 941~942
polling(轮询), 246, 484, 501
POLLNVAL常量, 508
POLLOUT常量, 508
POLLPRI常量, 508
POLLRDBAND常量, 508
POLLRDNORM常量, 508
POLLWRBAND常量, 508
POLLWRNORM常量, 508
popen函数, 23, 242, 249, 267, 452, 541~548, 587~588, 615,
619, 622~623, 935~937
函数定义, 541, 543
port number(端口号), 593, 595~596, 598~601, 605
Portable Operating System Environment for Computer
Environments, IEEE, 见POSIX
POSIX(Portable Operating System Environment for Computer Environments, IEEE), 26~30, 33, 265, 561, 674
POSIX semaphores(POSIX信号量), 579~584
POSIX.1, 4, 9, 27, 38, 41, 50, 53, 57~58, 88, 257, 262, 329, 367~368, 384, 533, 546, 553, 589, 617, 744, 950
POSIX.2, 262
_POSIX2_SYMLINKS常量, 55
_POSIX_ADVISORY_INFO常量, 31
_POSIX_AIO_LISTIO_MAX常量, 515
_POSIX_AIO_MAX常量, 515
_POSIX_ARG_MAX常量, 39~40
_POSIX_ASYNCHRONOUS_IO常量, 54, 57
_POSIX_ASYNC_IO常量, 55
_POSIX_BARRIERS常量, 54, 57
_POSIX_CHILD_MAX常量, 39~40
_POSIX_CHOWN_RESTRICTED常量, 55, 57, 110
_POSIX_CLOCKRES_MIN常量, 38
_POSIX_CLOCK_SELECTION常量, 54, 57
_POSIX_CPUTIME常量, 31, 189
_POSIX_C_SOURCE常量, 57~58, 84, 240
_POSIX_DELAYTIMER_MAX常量, 39~40
posix_fadvise函数, 452
posix_fallocate函数, 452
_POSIX_FSYNC常量, 31
_POSIX_HOST_NAME_MAX常量, 39~40
_POSIX_IPV6常量, 31
_POSIX_JOB_CONTROL常量, 57
_POSIX_LINK_MAX常量, 39
_POSIX_LOGIN_NAME_MAX常量, 39~40
POSIXLY_CORRECT环境变量, 111
posix_madvise函数, 452
_POSIX_MAPPED_FILES常量, 54, 57
_POSIX_MAX_CANON常量, 39
_POSIX_MAX_INPUT常量, 39
_POSIX_MEMLOCK常量, 31
_POSIX_MEMLOCK_RANGE常量, 31
_POSIX_MEMORY_PROTECTION常量, 54, 57
_POSIX_MESSAGE_PASSING常量, 31
_POSIX_MONOTONIC_CLOCK常量, 31, 189
_POSIX_NAME_MAX常量, 39, 580
_POSIX_NGROUPS_MAX常量, 39
_POSIX_NO_TRUNC常量, 55, 57, 65
_POSIX_OPEN_MAX常量, 39~40
posix_openpt函数, 452, 722~725
函数定义, 722
_POSIX_PATH_MAX常量, 39~40, 696~697
_POSIX_PIPE_BUF常量, 39
_POSIX_PRIO_IO常量, 55
_POSIX_PRIORITIZED_IO常量, 31
_POSIX_PRIORITY_SCHEDULING常量, 31
_POSIX_RAW_SOCKETS常量, 31
_POSIX_READER_WRITER_LOCKS常量, 55, 57
_POSIX_REALTIME_SIGNALS常量, 55, 57
_POSIX_RE_DUP_MAX常量, 39_POSIX_RTSIG_MAX常量, 39~40
_POSIX_SAVED_IDS常量, 57, 98, 256, 337
_POSIX_SEMAPHORES常量, 55, 57
_POSIX_SEM_NSEMS_MAX常量, 39~40
_POSIX_SEM_VALUE_MAX常量, 39~40
_POSIX_SHARED_MEMORY_OBJECTS常量, 31
_POSIX_SHELL常量, 57
_POSIX_SIGQUEUE_MAX常量, 39~40
_POSIX_SOURCE常量, 57
_POSIX_SPAWN常量, 31
posix_spawn函数, 452
posix_spawnp函数, 452
_POSIX_SPIN_LOCKS常量, 55, 57
_POSIX_SPORADIC_SERVER常量, 31
_POSIX_SSIZE_MAX常量, 39
_POSIX_STREAM_MAX常量, 39~40
_POSIX_SYMLINK_MAX常量, 39
_POSIX_SYMLOOP_MAX常量, 39~40
_POSIX_SYNCHRONIZED_IO常量, 31
_POSIX_SYNC_IO常量, 55
_POSIX_THREAD_ATTR_STACKADDR常量, 31, 429
_POSIX_THREAD_ATTR_STACKSIZE常量, 31, 429
_POSIX_THREAD_CPUTIME常量, 31, 189
_POSIX_THREAD_PRIO_INHERIT常量, 31
_POSIX_THREAD_PRIO_PROTECT常量, 31
_POSIX_THREAD_PRIORITY_SCHEDULING常量, 31
_POSIX_THREAD_PROCESS_SHARED常量, 31, 431
_POSIX_THREAD_ROBUST_PRIO_INHERIT常量, 31
_POSIX_THREAD_ROBUST_PRIO_PROTECT常量, 31
_POSIX_THREADS常量, 55, 57, 384
_POSIX_THREAD_SAFE_FUNCTIONS常量, 55, 57, 442
_POSIX_THREAD_SPORADIC_SERVER常量, 31
_POSIX_TIMEOUTS常量, 55
_POSIX_TIMER_MAX常量, 39~40
_POSIX_TIMERS常量, 55, 57
_POSIX_TIMESTAMP_RESOLUTION常量, 44
posix_trace_event函数, 331
_POSIX_TTY_NAME_MAX常量, 39~40
posix_typed_mem_open函数, 452
_POSIX_TYPED_MEMORY_OBJECTS常量, 31
_POSIX_TZNAME_MAX常量, 39~40
_POSIX_V6_ILP32_OFF32常量, 70
_POSIX_V6_ILP32_OFFBIG常量, 70
_POSIX_V6_LP64_OFF64常量, 70
_POSIX_V6_LP64_OFFBIG常量, 70
_POSIX_V7_ILP32_OFF32常量, 70
_POSIX_V7_ILP32_OFFBIG常量, 70
_POSIX_V7_LP64_OFF64常量, 70
_POSIX_V7_LP64_OFFBIG常量, 70
_POSIX_VDISABLE常量, 55, 57, 678~679
_POSIX_VERSION常量, 57, 188
P_PGID常量, 244
PPID, 见parent process ID
P_PID常量, 244
pr程序, 753
prctl程序, 559
pread函数, 78, 451, 461~462, 592
函数定义, 78
Presotto, D. L., 229, 952
pr_exit函数, 239~241, 266~268, 281, 283, 372, 896
函数定义, 240
primitive system data types(基本系统数据类型), 58
print程序, 794, 801, 820, 824~825, 834, 843
printd程序, 794, 843
printer communication, network(网络打印机通信),
789~843
printer spooling(打印机假脱机), 793~795
source code(源代码), 795~842
printer_status函数, 814, 837~838, 843
函数定义, 838
printer_thread函数, 814, 832, 945
函数定义, 832
printf函数, 10~11, 21, 150, 159, 161~163, 175, 192, 194,
219, 226, 231, 235, 283, 309, 330, 349, 452, 552,
919~920
函数定义, 159
print.h头文件, 815, 820, 825
printreq结构, 801, 809~810, 812, 820, 822~824, 827
printresp结构, 801, 809, 811, 824~827
PRIO_PGRP常量, 277
PRIO_PROCESS常量, 277
PRIO_USER常量, 277
privilege, least(最小权限), 256, 795, 816
pr_mask函数, 356~357, 360~361, 896
函数定义, 347
/proc, 136, 253
proc结构, 311~312
process(进程), 11
accounting(进程会计), 269~275
control(进程控制), 11, 227~283
ID(进程ID), 11, 228, 252
ID, parent(父进程ID), 228, 233, 237, 243, 246, 252,
287~288, 309, 464
identifiers(进程标识符), 227~228 relationships(进程关系), 285~312
scheduling(进程调度), 276~280
system(系统进程), 228, 337
termination(进程终止), 198~202
time(进程时间), 20, 24, 59, 280~282
process group(进程组), 293~294
background(后台进程组), 296, 300, 302, 304, 306~307,
309, 321, 369, 377, 944
foreground(前台进程组), 296, 298, 300~303, 306, 311,
318~322, 369, 377, 680~682, 685, 689, 710, 719, 741,
944
ID(进程组ID), 233, 252
ID, foreground(前台进程组ID), 298, 303, 677
ID, session(会话进程组ID), 304
ID, terminal(终端进程组ID), 303, 463
leader(进程组组长进程), 294~296, 306, 312,
465~466, 727
lifetime(进程组生命周期), 294
orphaned(孤儿进程组), 307~309, 469, 735
processes, cooperating(合作进程), 495, 752, 945
process-shared attribute(进程共享属性), 431
.profile文件, 289
program(程序), 10
PROT_EXEC常量, 525
PROT_NONE常量, 525
protoent结构, 598
prototypes, function(函数原型), 845~893
PROT_READ常量, 525, 529, 577
PROT_WRITE常量, 525, 529, 577
PR_TEXT常量, 801, 810, 825, 835~836
ps程序, 237, 283, 303, 306~307, 463~465, 468~469, 480,
736, 923
pselect函数, 331, 451, 501, 506
函数定义, 506
pseudo terminal(伪终端), 715~742
packet mode(伪终端打包模式), 740
remote mode(伪终端远程模式), 741
signal generation(伪终端信号产生), 741
window size(伪终端窗口大小), 741
psiginfo函数, 379~380, 452
函数定义, 379
psignal函数, 379~380, 452
函数定义, 379
ptem STREAMS模块, 716, 726
pthread结构, 385
pthread_atfork函数, 457~461
函数定义, 458
pthread_attr_destroy函数, 427~429
函数定义, 427
pthread_attr_getdetachstate函数, 428
函数定义, 428
pthread_attr_getguardsize函数, 430
函数定义, 430
pthread_attr_getstack函数, 429
函数定义, 429
pthread_attr_getstacksize函数, 429~430
函数定义, 430
pthread_attr_init函数, 427~429
函数定义, 427
pthread_attr_setdetachstate函数, 428
函数定义, 428
pthread_attr_setguardsize函数, 430
函数定义, 430
pthread_attr_setstack函数, 429
函数定义, 429
pthread_attr_setstacksize函数, 429~430
函数定义, 430
pthread_attr_t数据类型, 427~428, 430, 451
pthread_barrierattr_destroy函数, 441
函数定义, 441
pthread_barrierattr_getpshared函数, 441
函数定义, 441
pthread_barrierattr_init函数, 441
函数定义, 441
pthread_barrierattr_setpshared函数, 441
函数定义, 441
pthread_barrier_destroy函数, 418~419
函数定义, 418
pthread_barrier_init函数, 418~419, 421
函数定义, 418
PTHREAD_BARRIER_SERIAL_THREAD常量, 419, 422 pthread_barrier_t数据类型, 419
pthread_barrier_wait函数, 419~423
函数定义, 419
pthread_cancel函数, 393, 451, 453, 828
函数定义, 393
PTHREAD_CANCEL_ASYNCHRONOUS常量, 453
PTHREAD_CANCEL_DEFERRED常量, 453
PTHREAD_CANCEL_DISABLE常量, 451
PTHREAD_CANCELED常量, 389, 393
PTHREAD_CANCEL_ENABLE常量, 451
pthread_cleanup_pop函数, 394~396, 827, 829
函数定义, 394
pthread_cleanup_push函数, 394~396, 824
函数定义, 394
pthread_condattr_destroy函数, 440
函数定义, 440
pthread_condattr_getclock函数, 441
函数定义, 441
pthread_condattr_getpshared函数, 440
函数定义, 440
pthread_condattr_init函数, 440
函数定义, 440
pthread_condattr_setclock函数, 441
函数定义, 441
pthread_condattr_setpshared函数, 440
函数定义, 440
pthread_condattr_t数据类型, 441
pthread_cond_broadcast函数, 415, 422~423, 927
函数定义, 415
pthread_cond_destroy函数, 414, 462
函数定义, 414
pthread_cond_init函数, 414, 462, 941
函数定义, 414
PTHREAD_COND_INITIALIZER常量, 413, 416, 455, 814
pthread_cond_signal函数, 415~416, 456, 821, 942
函数定义, 415
pthread_cond_t数据类型, 413, 416, 455, 814, 940
pthread_cond_timedwait 函 数 , 414~415, 434,
440~441, 451
函数定义, 414
pthread_cond_wait函数, 414~416, 434, 451, 456, 832,
927, 941
函数定义, 414
pthread_create函数, 385~388, 390~392, 395, 397, 421,
427~428, 456, 460, 477, 632, 817, 926, 941
函数定义, 385
PTHREAD_CREATE_DETACHED常量, 428
PTHREAD_CREATE_JOINABLE常量, 428
PTHREAD_DESTRUCTOR_ITERATIONS常量, 426, 447
pthread_detach函数, 396~397, 427
函数定义, 385
pthread_equal函数, 385, 412
函数定义, 385
pthread_exit函数, 198, 236, 389~391, 393~396, 447,
824~829
函数定义, 389
pthread_getspecific函数, 449~450
函数定义, 44
<pthread.h>头文件, 29
pthread_join函数, 389~391, 395~396, 418, 451, 926
函数定义, 389
pthread_key_create函数, 447~448, 450
函数定义, 447
pthread_key_delete函数, 447~448
函数定义, 448
PTHREAD_KEYS_MAX常量, 426, 447
pthread_key_t数据类型, 449
pthread_kill函数, 455
函数定义, 455
pthread_mutexattr_destroy函数, 431, 445
函数定义, 431
pthread_mutexattr_getpshared函数, 431
函数定义, 431
pthread_mutexattr_getrobust函数, 432
函数定义, 432
pthread_mutexattr_gettype函数, 434
函数定义, 434
pthread_mutexattr_init函数, 431, 438, 445
函数定义, 431
pthread_mutexattr_setpshared函数, 431
函数定义, 431
pthread_mutexattr_setrobust函数, 432
函数定义, 432
pthread_mutexattr_settype函数, 434, 438, 445
函数定义, 434
pthread_mutexattr_t数据类型, 430~431, 438, 445
pthread_mutex_consistent函数, 432~433, 571
函数定义, 433
PTHREAD_MUTEX_DEFAULT常量, 433~434
pthread_mutex_destroy函数, 400~401, 404, 407
函数定义, 400
PTHREAD_MUTEX_ERRORCHECK常量, 433~434
pthread_mutex_init 函数, 401, 403, 405, 431, 438,
445, 941
函数定义, 400
PTHREAD_MUTEX_INITIALIZER 常量, 400, 403, 405,
408, 416, 431, 449, 455, 459, 813~814
pthread_mutex_lock 函 数 , 400~401, 403~404,
406~408, 416, 422~423, 432, 438, 445, 450, 456,
459~460, 820~821, 828~830, 832~833, 941~942
函数定义, 400
PTHREAD_MUTEX_NORMAL常量, 433~434
PTHREAD_MUTEX_RECURSIVE常量, 433~434, 438, 445
PTHREAD_MUTEX_ROBUST常量, 432
PTHREAD_MUTEX_STALLED常量, 432
pthread_mutex_t 数据类型, 400~401, 403, 405, 408,
416, 438, 445, 449, 455, 459, 813~814, 940
pthread_mutex_timedlock函数, 407~409, 413
函数定义, 407
pthread_mutex_trylock函数, 400, 402
函数定义, 400
pthread_mutex_unlock 函数, 400~401, 403~404,
406~407, 416, 422~423, 438~439, 445, 450, 456, 460,
820~821, 828~830, 832~833, 941~942
函数定义, 400
pthread_once函数, 445, 448, 450, 928
函数定义, 448
PTHREAD_ONCE_INIT常量, 445, 448~449
pthread_once_t数据类型, 445, 449
PTHREAD_PROCESS_PRIVATE常量, 417, 431, 442
PTHREAD_PROCESS_SHARED常量, 417, 431, 442, 571
pthread_rwlockattr_destroy函数, 439
函数定义, 439
pthread_rwlockattr_getpshared函数, 440
函数定义, 440
pthread_rwlockattr_init函数, 439
函数定义, 439
pthread_rwlockattr_setpshared函数, 440
函数定义, 440
pthread_rwlockattr_t数据类型, 439
pthread_rwlock_destroy函数, 409~410
函数定义, 409
pthread_rwlock_init函数, 409, 411
函数定义, 409
PTHREAD_RWLOCK_INITIALIZER常量, 409
pthread_rwlock_rdlock函数, 410, 412, 452
函数定义, 410
pthread_rwlock_t数据类型, 411
pthread_rwlock_timedrdlock函数, 413, 452
函数定义, 413
pthread_rwlock_timedwrlock函数, 412
函数定义, 413
pthread_rwlock_tryrdlock函数, 410
函数定义, 410
pthread_rwlock_trywrlock函数, 410
函数定义, 410
pthread_rwlock_unlock函数, 410~412
函数定义, 410
pthread_rwlock_wrlock函数, 410~412, 452
函数定义, 410
pthreads, 27, 229, 384, 426
pthread_self函数, 385, 387, 391, 824
函数定义, 385
pthread_setcancelstate函数, 451
函数定义, 451
pthread_setcanceltype函数, 453
函数定义, 453
pthread_setspecific函数, 449~450
函数定义, 449
pthread_sigmask函数, 453~454, 477, 815
函数定义, 454
pthread_spin_destroy函数, 417
函数定义, 417
pthread_spin_init函数, 417
函数定义, 417
pthread_spin_lock函数, 418
函数定义, 418
pthread_spin_trylock函数, 418
函数定义, 418
pthread_spin_unlock函数, 418
函数定义, 418
PTHREAD_STACK_MIN常量, 426, 430
pthread_t数据类型, 59, 384~385, 387, 390~391, 395, 411,
421, 428, 456, 460, 476, 632, 812, 814, 824, 829, 926, 941
pthread_testcancel函数, 451, 453
函数定义, 453
PTHREAD_THREADS_MAX常量, 426
ptrdiff_t数据类型, 59
ptsname函数, 442, 723~725
函数定义, 732
pty程序, 309, 715, 720~721, 727, 729~742, 944
pty_fork函数, 721, 724, 726~730, 732, 739, 741~742
函数定义, 727
ptym_open函数, 724, 726~728, 897
函数定义, 724~725
ptys_fork函数, 897
ptys_open函数, 724, 726~728, 897
函数定义, 724~725
Pu, C., 65, 953
putc函数, 10, 152~156, 247~248, 452, 701
函数定义, 152
putchar函数, 152, 175, 452, 547~548
函数定义, 152
putchar_unlocked函数, 442, 444, 452
函数定义, 444
putc_unlocked函数, 442, 444, 452
函数定义, 444
putenv函数, 204, 212, 251, 442, 446, 462
函数定义, 212
putenv_r函数, 462
puts函数, 152~153, 452, 911
函数定义, 153
pututxline函数, 442, 452
putwc函数, 452
putwchar函数, 452
PWD环境变量, 211
<pwd.h>头文件, 29, 177, 186
pwrite函数, 78~79, 451, 461~462, 592
函数定义, 78
Q
Quarterman, J. S., 33~34, 74, 112, 116, 229, 236, 525, 951
QUIT terminal character(QUIT终止字符), 678, 681,
688, 702
R
race condition(s 竞争条件), 245~249, 339, 784, 922, 924
Rago, S. A., 88, 157, 290, 952
raise函数, 331, 336~338, 365
函数定义, 337
rand函数, 442
raw terminal mode(原始终端模式), 672, 704, 708, 713,
732, 734
Raymond, E. S., 952
read函数, 8~10, 20, 59, 61, 64, 71~72, 78, 88, 90~91, 111,
124~125, 130, 145, 154~156, 174, 301, 308~309,
328~331, 342~343, 364~365, 378, 451, 462, 470,
482~483, 495~496, 498~502, 505~506, 508~509, 513,
517, 523~525, 530~531, 536~537, 540~541, 549~551,
553, 556, 587, 590, 592, 610, 612, 654, 656, 665~667,
672, 702~704, 708~709, 732~733, 738, 740, 748, 752,
765, 767~768, 805~806, 811, 818, 823, 836~838,
907~908, 936, 943
函数定义, 71
read, scatter(散布读), 521, 644
readdir函数, 5, 7, 130~135, 442, 452, 697, 823
函数定义, 130
readdir_r函数, 443, 452
reader-writer lock attributes(读写锁属性), 439~440
reader-writer locks(读-写锁), 409~413
reading directories(读目录), 130~135
readlink函数, 121, 123~124, 331, 452
函数定义, 123
readlinkat函数, 123~124, 331, 452
函数定义, 123
read_lock函数, 489, 493, 498, 897
readmore函数, 814, 837, 840~841
函数定义, 837
readn函数, 523~524, 738, 806, 811, 896
函数定义, 523~524
readv函数, 41, 43, 329, 451, 481, 521~523, 531, 592, 613,
644, 752, 766
函数定义, 521
readw_lock函数, 489, 759, 763, 780, 897
real
group ID(实际组ID), 98, 102, 183, 228, 233, 252~253,
256, 270, 585
user ID(实际用户 ID), 39~40, 43, 98~99, 102, 221,
228, 233, 252~253, 256~260, 270, 276, 286, 288,
337, 381, 585, 924
realloc函数, 50, 174, 207~208, 213, 661~662, 666, 761,
838, 840, 911~912
函数定义, 207
record locking(记录锁), 485~499
advisory(建议性记录锁), 495
deadlock(记录锁死锁), 490
mandatory(强制性记录锁), 495
timing comparison(记录锁时间比较), 571
recv函数, 331, 451, 592, 612~615, 626~627
函数定义, 612
recv_fd函数, 642~644, 650, 655, 660, 896
函数定义, 642, 647
recvfrom函数, 331, 451, 613, 620~623
函数定义, 613
recvmsg函数, 331, 451, 613, 644, 647~648, 651
函数定义, 613
recv_ufd函数, 650
函数定义, 651
RE_DUP_MAX常量, 39, 43, 49
reentrant functions(可重入函数), 330~332
regcomp函数, 39, 43
regexec函数, 39, 43
<regex.h>头文件, 29
register variables(寄存器变量), 217
regular file(普通文件), 95
relative pathname(相对路径), 5, 8, 43~44, 50, 64~65,
135, 553
reliable signals(可靠信号), 335~336
remote mode, pseudo terminal(伪终端远程模式), 741
remove函数, 116~119, 121, 125, 452
函数定义, 119
remove_job函数, 814, 822, 832
函数定义, 822
rename函数, 119~121, 125, 331, 452
函数定义, 119
renameat函数, 119~120, 331, 452
函数定义, 119
replace_job函数, 814, 821, 837
函数定义, 821
REPRINT terminal character(REPRINT终端字符), 678,
681, 687, 690, 703
reset程序, 713, 943
resource limits(资源限制), 220~225, 233, 252, 322, 382
restarted system calls(重启系统调用), 329~330, 342~343,
351, 354, 508, 700
restrict关键字, 26, 93, 123, 146, 148, 152~153, 156,
158~159, 161~163, 190, 192, 195, 346, 350, 385, 400,
409, 414, 428~432, 434, 440~441, 454, 502, 506, 596,
599~600, 605, 608, 613, 624
rewind函数, 149, 158, 168, 452
函数定义, 158
rewinddir函数, 130~135, 452
函数定义, 13
rfork函数, 229
Ritchie, D. M., 26, 143, 149, 155, 162, 164, 208, 898, 906, 950, 952
RLIM_INFINITY常量, 221, 468
rlimit结构, 220, 224, 467, 907
RLIMIT_AS常量, 221~223
RLIMIT_CORE常量, 221~223, 317
RLIMIT_CPU常量, 221~223
RLIMIT_DATA常量, 221~223
RLIMIT_FSIZE常量, 221~223, 382
RLIMIT_INFINITY常量, 224, 907
RLIMIT_MEMLOCK常量, 221~223
RLIMIT_MEMLOCK常量, 221, 223
RLIMIT_NICE常量, 221, 223
RLIMIT_NOFILE常量, 221~223, 467, 907
RLIMIT_NPROC常量, 221~223
RLIMIT_NPTS常量, 221, 223
RLIMIT_RSS常量, 222~223
RLIMIT_SBSIZE常量, 222~223
RLIMIT_SIGPENDING常量, 222, 224
RLIMIT_STACK常量, 222, 224
RLIMIT_SWAP常量, 222, 224
RLIMIT_VMEM常量, 222, 224
rlim_t数据类型, 59, 223
rlogin程序, 717, 741~742
rlogind程序, 717, 734, 741, 944
rm程序, 559, 663
rmdir函数, 117, 119~120, 125, 129~130, 331
函数定义, 130
robust属性, 431, 571
R_OK常量, 102~103
root
directory(根目录), 4, 8, 24, 139, 141, 233, 252, 283, 910 login name(根用户登录名), 16
routed程序, 472
rpcbind程序, 465
RS-232, 674, 685~686
rsyslogd程序, 465, 480
RTSIG_MAX常量, 40, 43
Rudoff, A. M., 157, 291, 470, 589, 952
runacct程序, 269
S
S5文件系统, 65
sa程序, 269
sac程序, 290
SAF(Service Access Facility,服务访问设施), 290
safe, async-signal(异步信号安全的), 330, 446, 450, 457,
461~462, 927
sa_handler结构, 376
SA_INTERRUPT常量, 326, 328~329 s_alloc函数, 584
Salus, P. H., 952
SA_NOCLDSTOP常量, 351
SA_NOCLDWAIT常量, 333, 351
SA_NODEFER常量, 351, 354
Santa Cruz Operation, 见SCO
SA_ONSTACK常量, 351
SA_RESETHAND常量, 351, 354
SA_RESTART常量, 329, 351, 354, 508~509
SA_SIGINFO常量, 336, 350~353, 376, 512
saved
set-group-ID(保存设置组ID), 56, 98, 257
set-user-ID(保存设置用户 ID), 56, 98, 256~260,
288, 337
S_BANDURG常量, 510
sbrk函数, 21~23, 208, 221
_SC_AIO_MAX常量, 516
_SC_AIO_PRIO_DELTA_MAX常量, 516
scaling, frequency(频率调整), 785
scan_configfile函数, 803~804
函数定义, 803
scandir函数, 452
scanf函数, 150, 162~163, 452
函数定义, 162
_SC_ARG_MAX常量, 43, 47
_SC_ASYNCHRONOUS_IO常量, 57
_SC_ATEXIT_MAX常量, 43
scatter read(散布读), 521, 644
_SC_BARRIERS常量, 57
_SC_CHILD_MAX常量, 43, 221
_SC_CLK_TCK常量, 42~43, 280~281
_SC_CLOCK_SELECTION常量, 57
_SC_COLL_WEIGHTS_MAX常量, 43
_SC_DELAYTIMER_MAX常量, 43
SCHAR_MAX常量, 37~38
SCHAR_MIN常量, 37~38
<sched.h>头文件, 29
scheduling, process(进程调度), 276~280
_SC_HOST_NAME_MAX常量, 43, 616, 618, 623, 815
Schwartz, A., 181, 250, 298, 949
_SC_IO_LISTIO_MAX常量, 516
_SC_IOV_MAX常量, 43
_SC_JOB_CONTROL常量, 54, 57
_SC_LINE_MAX常量, 43
_SC_LOGIN_NAME_MAX常量, 43
_SC_MAPPED_FILES常量, 57
SCM_CREDENTIALS常量, 649~652
SCM_CREDS常量, 649~650, 652
SCM_CREDTYPE常量, 650, 652
_SC_MEMORY_PROTECTION常量, 57
SCM_RIGHTS常量, 645~646, 650, 652
_SC_NGROUPS_MAX常量, 43
_SC_NZERO常量, 276
SCO(Santa Cruz Operation), 36
_SC_OPEN_MAX常量, 43, 52, 221, 907
_SC_PAGESIZE常量, 43, 527
_SC_PAGE_SIZE常量, 43, 527
_SC_READER_WRITER_LOCKS常量, 57
_SC_REALTIME_SIGNALS常量, 57
_SC_RE_DUP_MAX常量, 43
script程序, 715, 719~720, 734, 736~737, 741~742
_SC_RTSIG_MAX常量, 43
_SC_SAVED_IDS常量, 54, 57, 98, 256
_SC_SEMAPHORES常量, 57
_SC_SEM_NSEMS_MAX常量, 43
_SC_SEM_VALUE_MAX常量, 43
_SC_SHELL常量, 57
_SC_SIGQUEUE_MAX常量, 43
_SC_SPIN_LOCKS常量, 57
_SC_STREAM_MAX常量, 43
_SC_SYMLOOP_MAX常量, 43
_SC_THREAD_ATTR_STACKADDR常量, 429
_SC_THREAD_ATTR_STACKSIZE常量, 429
_SC_THREAD_DESTRUCTOR_ITERATIONS常量, 426
_SC_THREAD_KEYS_MAX常量, 426
_SC_THREAD_PROCESS_SHARED常量, 431
_SC_THREADS常量, 57, 384
_SC_THREAD_SAFE_FUNCTIONS常量, 57, 442
_SC_THREAD_STACK_MIN常量, 426
_SC_THREAD_THREADS_MAX常量, 426
_SC_TIMER_MAX常量, 43
_SC_TIMERS常量, 57
_SC_TTY_NAME_MAX常量, 43
_SC_TZNAME_MAX常量, 43
_SC_V7_ILP32_OFF32常量, 70
_SC_V7_ILP32_OFFBIG常量, 70
_SC_V7_LP64_OFF64常量, 70
_SC_V7_LP64_OFFBIG常量, 70
_SC_VERSION常量, 50, 54, 57
_SC_XOPEN_CRYPT常量, 57
_SC_XOPEN_REALTIME常量, 57
_SC_XOPEN_REALTIME_THREADS常量, 57
_SC_XOPEN_SHM常量, 57
_SC_XOPEN_VERSION常量, 50, 54, 57
<search.h>头文件, 30
sed程序, 950
Seebass, S., 951
seek函数, 67
SEEK_CUR常量, 67, 158, 486, 494~495, 766
seekdir函数, 130~135, 452
函数定义, 130
SEEK_END常量, 67, 158, 486, 494~495, 771~773, 781
SEEK_SET常量, 67, 158, 172, 486, 494~495, 498, 759,
762~763, 765~766, 768~773, 775~780, 818~819,
930~931
SEGV_ACCERR常量, 353
SEGV_MAPERR常量, 353
select函数, 330~331, 343, 451, 481, 501~509, 531~532,
560, 586, 588, 592, 608~609, 626~627, 631~632, 659,
664~666, 668, 718, 732, 742, 805~806, 816~817,
928~929, 933, 936, 939, 942
函数定义, 502
Seltzer, M., 744, 952
semaphore(信号量), 57, 534, 565~571
adjustment on exit(退出时调整信号量), 570~571
locking timing comparison(信号量锁时间比较), 571, 583
<semaphore.h>头文件, 29
sembuf结构, 568~569
sem_close函数, 580, 584
函数定义, 580
semctl函数, 558, 562, 566~568, 570
函数定义, 567
sem_destroy函数, 582
函数定义, 582
SEM_FAILED常量, 584
semget函数, 557~558, 566~567
函数定义, 567
sem_getvalue函数, 582
函数定义, 582
semid_ds结构, 566~568
sem_init函数, 582
函数定义, 582
SEM_NSEMS_MAX常量, 40, 43
semop函数, 452, 559, 567~570
函数定义, 579
sem_open函数, 579~580, 582, 584
函数定义, 579
sem_post函数, 331, 581~582, 584
函数定义, 582
sem_t结构, 582
sem_timedwait函数, 451, 581~582
函数定义, 581
sem_trywait函数, 581, 584
semun联合, 567~568
SEM_UNDO常量, 569~570, 580, 583
sem_unlink函数, 580~581, 584
函数定义, 580
SEM_VALUE_MAX常量, 40, 43, 580
sem_wait函数, 451, 581~582, 584
函数定义, 581
send函数, 331, 451, 592, 610, 616, 626~627
函数定义, 610
send_err函数, 642~644, 653, 656~657, 668~669, 897
函数定义, 642, 644
send_fd函数, 642~645, 649, 653, 656~657, 669, 897
函数定义, 642, 646, 649
sendmsg函数, 331, 451, 611, 613, 644~646, 650, 670
函数定义, 611
sendto函数, 331, 451, 610~611, 620, 622~623
函数定义, 610
S_ERROR常量, 510
serv_accept函数, 636~638, 641, 648, 659, 665, 667~668, 897
函数定义, 636, 638
servent结构, 599
Service Access Facility, 见SAF
Service Management Facility, 见SMF
serv_listen函数, 636~637, 659, 664~665, 667, 670, 897
函数定义, 636~637
session(会话), 295~296
ID(会话ID), 233, 252, 296, 311, 463~464
leader(会话首进程), 295~297, 311, 318, 464~466, 469,
726~727, 742, 944
process group ID(会话进程组ID), 304
session结构, 310~311, 318, 464
set
descriptor(描述符集), 503, 505, 532, 933
signal(信号集), 336, 344~345, 532, 933
SETALL常量, 568, 570
setasync函数定义, 939
setbuf函数, 146~147, 150, 171, 175, 247~248, 701, 930
函数定义, 146
set_cloexec函数, 615, 617, 622, 896
函数定义, 480
setegid函数, 258
函数定义, 258
setenv函数, 212, 251, 442
函数定义, 212
seteuid函数, 258~260
函数定义, 258
set_fl函数, 86, 482~483, 498, 896, 934
函数定义, 85
setgid函数, 256, 258, 288, 331, 816
函数定义, 256
setgrent函数, 183~184, 442, 452
函数定义, 183
set-group-ID(设置组ID), 98~99, 102, 107~108, 110, 129,
140, 233, 253, 317, 496, 546, 723
saved(保存设置组ID), 56, 98, 257
setgroups函数, 184
函数定义, 184
sethostent函数, 452, 597
函数定义, 597
sethostname函数, 189
setitimer函数, 317, 320, 322, 381
_setjmp函数, 355, 358
setjmp函数, 197, 213, 215~219, 225, 340, 343, 355~356,
358, 381, 924
函数定义, 215
<setjmp.h>头文件, 27
setkey函数, 442
setlogmask函数, 470~471
函数定义, 470
setnetent函数, 452, 598
函数定义, 598
setpgid函数, 294, 331
函数定义, 294
setpriority函数, 277
函数定义, 277
setprotoent函数, 452, 598
函数定义, 598
setpwent函数, 180~181, 442, 452
函数定义, 180
setregid函数, 257~258
函数定义, 257
setreuid函数, 257
函数定义, 257
setrlimit函数, 53, 220, 382
函数定义, 220
setservent函数, 452, 599
函数定义, 599
setsid函数, 294~295, 297, 310~311, 331, 464~467, 724,
727~728
函数定义, 295
setsockopt函数, 331, 624~625, 651
函数定义, 624
setspent函数, 182
函数定义, 182
settimeofday函数, 190
setuid函数, 98, 256, 258, 260, 288, 331, 816
函数定义, 256
set-user-ID(设置用户ID), 98~99, 102, 104, 107~108, 110,
129, 140, 182, 233, 253, 256~257, 259, 267, 317, 546,
585~586, 653, 924
saved(保存设置用户ID), 56, 98, 256~260, 288, 337
setutxent函数, 442, 452
SETVAL常量, 568, 570
setvbuf函数, 146~147, 150, 171, 175, 220, 552, 721, 936
函数定义, 146
SGI(Silicon Graphics, Inc.), 35
SGID, 见set-group-ID
SHA-1(SHA-1加密算法), 181
shadow passwords(阴影口令), 181~182, 196, 918
<shadow.h>头文件, 186
S_HANGUP常量, 510
Shannon, W. A., 525, 949
shared
libraries(共享库), 206~207, 226, 753, 920, 947
memory(共享内存), 534, 571~578
sharing, file(文件共享), 74~77, 231
shell, 见Bourne shell, Bourne-again shell, C shell, Debian
Almquist shell, Korn shell, TENEX C shell
SHELL环境变量, 211, 288, 737
shell, job-control(作业控制shell), 294, 299, 306~307, 325,
358, 377, 379, 734~735
shell layers(shell层), 299
shells, 3
S_HIPRI常量, 510
shmat函数, 559, 573~576
函数定义, 574
shmatt_t数据类型, 572
shmctl函数, 558, 562, 573~575
函数定义, 573
shmdt函数, 574
函数定义, 574
shmget函数, 557~558, 572, 575
函数定义, 572
shmid_ds结构, 572~574
SHMLBA常量, 574
SHM_LOCK常量, 573
SHM_RDONLY常量, 574
SHM_RND常量, 574
SHRT_MAX常量, 37
SHRT_MIN常量, 37
shutdown函数, 331, 592~593, 612
函数定义, 592
SHUT_RD常量, 592
SHUT_RDWR常量, 592
SHUT_WR常量, 592
SI_ASYNCIO常量, 353
S_IFBLK常量, 134
S_IFCHR常量, 134
S_IFDIR常量, 134
S_IFIFO常量, 134
S_IFLNK常量, 114, 134
S_IFMT常量, 97
S_IFREG常量, 134
S_IFSOCK常量, 134, 634
sig2str函数, 380~381
函数定义, 380
SIG2STR_MAX常量, 380
SIGABRT信号, 236, 240~241, 275, 313, 317~319, 365~367,
381, 924
sigaction函数, 59, 323, 326, 329~331, 333, 335~336,
349~355, 366, 370, 374, 376, 455, 468, 476, 478~479,
510, 621, 815, 939
函数定义, 350
sigaction结构, 350, 354~355, 366, 369, 374, 376, 379,
467, 476, 478, 621, 814
sigaddset函数, 331, 344~345, 348, 360, 362~363, 370,
374, 378, 456, 478~479, 701, 815, 933
函数定义, 344~345
SIGALRM信号, 313~314, 317, 330~332, 338~340, 342~343,
347, 354, 356~357, 364~365, 373~374, 621
sigaltstack函数, 351
sig_atomic_t数据类型, 59, 356~357, 361~363, 732
SIG_BLOCK常量, 346, 348, 360, 362~363, 370, 374, 454,
456, 477, 701, 815
SIGBUS信号, 317, 352~353, 527, 530
SIGCANCEL信号, 317
SIGCHLD 信号, 238, 288, 315, 317, 331~335, 351~353,
367~368, 370~371, 377, 471, 501, 546, 723, 923, 939
semantics(语义), 332~335
SIGCLD信号, 317, 332~336
SIGCONT信号, 301, 309, 317, 337, 377, 379
sigdelset函数, 331, 344~345, 366, 374, 933
函数定义, 344~345
SIG_DFL常量, 323, 333, 350~351, 366, 378~379, 476
sigemptyset 函数定义, 331, 344, 348, 354~355, 360,
362~363, 369~370, 374, 378, 456, 467, 476, 478, 621,
701, 815, 933
函数定义, 344
SIGEMT信号, 317~318
SIG_ERR 常量, 19, 324, 334, 340~343, 348, 354~356,
360~361, 363, 368, 550, 709, 711, 733
sigevent结构, 512
SIGEV_NONE常量, 518
sigfillset函数, 331, 344, 366, 477, 933
函数定义, 344
SIGFPE信号, 18, 240~241, 317~318, 352~353
SIGFREEZE信号, 317~318
Sigfunc数据类型, 354~355, 896
SIGHUP信号, 308~309, 317~318, 468, 475~479, 546, 815,
830, 843
SIG_IGN常量, 323, 333, 350, 366, 369, 379, 467, 815
SIGILL信号, 317~318, 351~353, 366
SIGINFO信号, 317~318, 682, 689
siginfo结构, 244, 283, 351~352, 376, 379, 381, 512
SIGINT信号, 18~19, 300, 314, 317, 319~320, 340~341, 347,
359~361, 364~365, 367~370, 372, 455~457, 546, 679,
681, 685, 688~689, 701~702, 709, 930, 932
SIGIO信号, 83, 317, 319, 501, 509~510, 627
SIGIOT信号, 317, 319, 365
sigismember函数, 331, 344~345, 347~348, 933
函数定义, 344~345
sigjmp_buf数据类型, 356
SIGJVM1信号, 317
SIGJVM2信号, 317
SIGKILL信号, 272, 275, 315, 317, 319, 321, 323, 346, 380,
735
siglongjmp函数, 219, 331, 355~358, 365
函数定义, 356
SIGLOST信号, 317
SIGLWP信号, 317, 319, 321
signal函数, 18~19, 59, 308, 323~326, 329~335, 339~343,
348~349, 354~356, 360~361, 363, 368, 378, 510, 550,
709, 711, 939
函数定义, 323, 354
signal mask(信号屏蔽字), 336
signal set(信号集), 336, 344~345, 532, 933
<signal.h>头文件, 27, 240, 314, 324, 344~345, 380
signal_intr函数, 330, 355, 364, 382, 508, 733, 896, 930
函数定义, 355
signals(信号), 18~19, 313~382
blocking(信号阻塞), 335
delivery(信号递送), 335
generation(信号产生), 335
generation, pseudo terminal(伪终端信号产生), 741
job-control(作业控制信号), 377~379
null(null信号), 314, 337
pending(未决信号), 335
queueing(信号排队), 336, 349, 376
reliable(可靠信号), 335~336
unreliable(不可靠信号), 326~327
signal_thread函数, 814, 830
函数定义, 830
sigpause函数, 331
sigpending函数, 331, 335, 347~349
函数定义, 347
SIGPIPE信号, 314, 317, 319, 537, 550~551, 553, 556, 587,
611, 815, 936
SIGPOLL信号, 317, 319, 501, 509~510
sigprocmask 函数, 331, 336, 340, 344, 346~349, 360,
362~364, 366, 370, 374, 378, 453~454, 456, 701
函数定义, 346
SIGPROF信号, 317, 320
SIGPWR信号, 317~318, 320
sigqueue函数, 222, 331, 353, 376~377
函数定义, 376
SIGQUEUE_MAX常量, 40, 43, 376
SIGQUIT信号, 300, 317, 320, 347~349, 361~362, 367, 370,
372, 456~457, 546, 681, 689, 702, 709
SIGRTMAX常量, 376
SIGRTMIN常量, 376
SIGSEGV信号, 314, 317, 320, 332, 336, 352~353, 393, 527
sigset函数, 331, 333
sigsetjmp函数, 219, 331, 355~358
函数定义, 356
SIG_SETMASK常量, 346, 348~349, 360, 362~364, 366, 370,
374, 454, 456, 701
sigset_t数据类型, 59, 336, 344, 347~348, 360~361, 363,
366, 369, 374, 378, 454~456, 701, 813
SIGSTKFLT信号, 317, 320
SIGSTOP信号, 315, 317, 320, 323, 346, 377
SIGSUSP信号, 689
sigsuspend函数, 331, 340, 359~365, 374, 451
函数定义, 359
SIGSYS信号, 317, 320
SIGTERM信号, 315, 317, 321, 325, 476~479, 709, 732~733,
742, 815, 830, 944
SIGTHAW信号, 317, 321
SIGTHR信号, 319
sigtimedwait函数, 451
SIGTRAP信号, 317, 321, 351, 353
SIGTSTP信号, 300, 308, 317, 320~321, 377~379, 680, 682,
701, 735
SIGTTIN信号, 300~301, 304, 309, 317, 321, 377, 379
SIGTTOU信号, 301~302, 317, 321, 377, 379, 691
SIG_UNBLOCK常量, 346, 349, 378, 454
SIGURG信号, 83, 314, 317, 319, 322, 510~511, 626
SIGUSR1 信号, 317, 322, 324, 347, 356~358, 360~361,
363~364, 501
SIGUSR2信号, 317, 322, 324, 363~364
sigval结构, 352
SIGVTALRM信号, 317, 322
sigwait函数, 451, 454~455, 457, 475, 477, 830
函数定义, 454
sigwaitinfo函数, 451
SIGWAITING信号, 317, 322
SIGWINCH 信号, 311, 317, 322, 710~712, 718~719,
741~742
SIGXCPU信号, 221, 317, 322
SIGXFSZ信号, 221, 317, 322, 382, 925
SIGXRES信号, 317, 322
Silicon Graphics, Inc., 见 SGI
SI_MESGQ常量, 353
Singh, A., 112, 116, 952
Single UNIX Specification, 见SUS
Version 3, 见 SUSv3
Version 4, 见 SUSv4
single-instance daemons(单实例守护进程), 473~474
S_INPUT常量, 510
SIOCSPGRP常量, 627
SI_QUEUE常量, 353
S_IRGRP常量, 99, 104, 107, 140, 149, 473, 896
S_IROTH常量, 99, 104, 107, 140, 149, 473, 896
S_IRUSR常量, 99, 104, 107, 140, 149, 169, 473, 818, 896
S_IRWXG常量, 107, 639
S_IRWXO常量, 107, 639
S_IRWXU常量, 107, 584, 639
S_ISBLK函数, 96~97, 139
S_ISCHR函数, 96~97, 139, 698
S_ISDIR函数, 96~97, 133, 698
S_ISFIFO函数, 96~97, 535, 552
S_ISGID常量, 99, 107, 140, 498
S_ISLNK函数, 96~97
S_ISREG函数, 96, 808
S_ISSOCK函数, 96~97, 639
S_ISUID常量, 99, 107, 140
S_ISVTX常量, 107~109, 140
SI_TIMER常量, 353
SI_USER常量, 353
S_IWGRP常量, 99, 104, 107, 140, 149
S_IWOTH常量, 99, 104, 107, 140, 149
S_IWUSR常量, 99, 104, 107, 140, 149, 169, 473, 818, 896
S_IXGRP常量, 99, 107, 140, 498, 896
S_IXOTH常量, 99, 107, 140, 896
S_IXUSR常量, 99, 107, 140, 169, 896
size, file(文件大小), 111~112
size程序, 206~207, 226
sizeof操作符, 231
size_t数据类型, 59~60, 71, 507, 772, 906
__SLBF常量, 166
sleep函数, 230, 234, 243, 246, 272, 274, 308, 331, 334,
339~342, 348, 372~375, 381~382, 387, 391~392, 439,
451, 460, 504, 532, 606~607, 923, 925, 928, 931, 936
函数定义, 373~374, 929
sleep程序, 372
sleep2函数, 924
sleep_us函数, 532, 896
函数定义, 933~934
SMF(Service Management Facility,服务管理设施), 293
S_MSG常量, 510
__SNBF常量, 165
snprintf函数, 159, 901, 904
函数定义, 159
Snyder, G., 951
sockaddr结构, 595~597, 605~607, 609, 622, 625, 635,
637, 639, 641, 800
sockaddr_in结构, 595~596, 603
sockaddr_in6结构, 595~596
sockaddr_un结构, 634~638, 640~642
sockatmark函数, 331, 626
函数定义, 626
SOCK_DGRAM常量, 590~591, 602, 608, 612, 621, 623, 632,
941
socket
addressing(套接字寻址), 593~605
descriptors(套接字描述符), 590~593
I/O, asynchronous(异步套接字I/O), 627
I/O, nonblocking(非阻塞套接字I/O), 608~609, 627
mechanism(套接字机制), 95, 534, 587, 589~628
options(套接字选项), 623~625
socket 函数, 148, 331, 590, 592, 607, 609, 621, 625,
637~638, 640~641, 808
函数定义, 590
socketpair函数, 148, 331, 629~630, 632, 634, 941
函数定义, 630
sockets, UNIX domain(UNIX域套接字), 629~642
timing(套接字时间), 565
socklen_t数据类型, 606~607, 609, 622, 625, 800
SOCK_RAW常量, 590~591, 602
SOCK_SEQPACKET常量, 590~591, 602, 605, 609, 612, 625
SOCK_STREAM 常量, 319, 590~591, 602, 605, 609, 612,
614~616, 618~619, 625, 630, 635, 637, 640, 802, 808,
816
Solaris , 3~4, 26~27, 29~30, 35~36, 38, 41, 48~49, 57~60, 62,
64~65, 70, 76, 88, 102, 108~113, 121~122, 129,
131~132, 138, 178, 182, 184~188, 208~209, 211~212,
222, 225, 229, 240, 242, 244~245, 260, 277, 288, 290,
293, 296, 298, 303, 314, 316~323, 329, 334~335, 351,
355, 371, 373, 377, 379~380, 385, 388, 392, 396, 409,
426~427, 432, 439, 471, 485, 496~497, 499, 503,
530~531, 534, 559, 561, 563, 565, 567, 572~573, 576,
592, 594, 607~608, 611~613, 627, 634, 648, 675~678,
684~691, 693, 700, 704, 716~717, 723~724, 726~727,
740~741, 744, 799, 911, 918, 925, 930, 932, 935~936,951
SOL_SOCKET常量, 624~625, 645~646, 650~652
solutions to exercises(习题解答), 905~945
SOMAXCONN常量, 608
SO_OOBINLINE常量, 626
SO_PASSCRED常量, 651
SO_REUSEADDR常量, 625
S_OUTPUT常量, 510
Spafford, G., 181, 250, 298, 949
spawn函数, 234
<spawn.h>头文件, 30
spin locks(自旋锁), 417~418
spooling, printer(打印机假脱机), 793~795
sprintf 函数, 159, 549, 616, 622, 640, 655, 657, 659,
668~669, 759, 772~773, 803, 818~819, 822~823,
825~827, 833~835, 837, 845, 945
函数定义, 159
spwd结构, 918
squid login name(squid登录名), 178
S_RDBAND常量, 510
S_RDNORM常量, 510
sscanf函数, 162, 549, 551, 802~803
函数定义, 162
ssh程序, 293
sshd程序, 465
SSIZE_MAX常量, 38, 41, 71
ssize_t数据类型, 39, 59, 71
stack(栈), 205, 215
stackaddr属性, 427
stacksize属性, 427
standard error(标准错误), 8, 145, 617
standard error routines(标准错误例程), 898~904
standard input(标准输入), 8, 145
standard I/O
alternatives(标准I/O替代方案), 174~175
buffering(带缓冲的标准I/O), 145~147, 231, 235, 265,
367, 552, 721, 752
efficiency(标准I/O效率), 153~156
implementation(标准I/O实现), 164~167
library(标准I/O库), 10, 143~175
streams(标准I/O流), 143~144
versus unbuffered I/O, timing(标准I/O与不带缓冲的I/O的时间比较), 155
standard output(标准输出), 8, 145, 617
standards(标准), 25~33
differences(标准差异), 58~59
START terminal character(START 终端字符), 678,
680~682, 686, 689, 693
stat 函数, 4, 7, 65, 93~95, 97, 99, 107, 121~122, 124,
126~128, 131, 138, 140~141, 170, 331, 452, 586, 592,
628, 639~640, 670, 698, 908, 910, 942
函数定义, 93
stat结构, 93~96, 98, 111, 114, 124, 140, 147, 167, 170,
498, 518, 529, 535, 552, 557, 586, 638, 697~698, 757,
807, 832
static variables(静态变量), 219
STATUS terminal character(STATUS终止符), 678, 682,
687, 689, 703
<stdarg.h>头文件, 27, 162~163, 755, 758
<stdbool.h>头文件, 27
__STDC_IEC_559__常量, 31
<stddef.h>头文件, 27, 635
stderr变量, 145, 483, 731, 901
STDERR_FILENO常量, 62, 145, 618~619, 643, 648,
652, 729
stdin变量, 10, 145, 154, 214, 216, 550~551, 654
STDIN_FILENO常量, 9, 62, 67, 72, 145, 308, 378, 483, 539,
544, 549~550, 619, 655~656, 679, 684, 709, 711, 728,
730~732, 739~740
<stdint.h>头文件, 27, 595
<stdio.h>头文件, 10, 27, 38, 51, 145, 147, 151, 164, 168,
694, 755, 895
<stdlib.h>头文件, 27, 208, 895
stdout变量, 10, 145, 154, 247~248, 275, 901, 921, 930
STDOUT_FILENO常量, 9, 62, 72, 145, 230, 235, 378, 483,
537, 544, 549~550, 614, 618~620, 654~656, 729, 733,
739~740, 921
Stevens, W. R., 157, 291, 470, 505, 589, 717, 793, 952
sticky bit(粘着位), 107~109, 117, 140
stime函数, 190
Stonebraker, M. R., 743, 953
STOP terminal character(STOP终端字符), 678, 680~682,
686, 689, 693
str2sig函数, 380
函数定义, 380
strace程序, 497
Strang, J., 712, 953
strchr函数, 767
stream orientation(流方向), 144
STREAM_MAX常量, 38, 40, 43, 49
STREAMS , 88, 143, 501~502, 506, 508, 510, 534, 560, 565,
648, 716~717, 722, 726, 740
streams, memory(内存流), 171~174
STREAMS module
ldterm, 716, 726
pckt, 716, 740
ptem, 716, 726
ttcompat, 716, 726
streams, standard I/O(标准I/O流), 143~144
STREAMS-based pipes, mounted(装配的基于STREAMS的管道), 534
timing(计时), 565
strerror 函数, 15~16, 24, 380, 442, 452, 471, 474,
478~479, 600, 615~618, 621~622, 657, 669, 823~827,
830, 833~834, 842, 899, 901, 904, 906, 931
函数定义, 15
strerror_r函数, 443, 452
strftime函数, 190, 192~196, 264, 408, 452, 919
函数定义, 192
strftimel函数, 192
函数定义, 192
<string.h>头文件, 27, 895
<strings.h>头文件, 29
strip程序, 920
strlen函数, 12, 231, 945
strncasecmp函数, 840
strncpy函数, 809
Strong, H. R., 744, 750, 949
<stropts.h>头文件, 508, 510
strptime函数, 195
函数定义, 195
strsignal函数, 380, 830
函数定义, 380
strtok函数, 442, 657~658
strtok_r函数, 443
strtol函数, 633
stty程序, 301, 691~692, 702, 713, 943
Stumm, M., 174, 531, 950
S_TYPEISMQ函数, 96
S_TYPEISSEM函数, 96
S_TYPEISSHM函数, 96
su程序, 472
submit_file函数, 807, 809, 811
函数定义, 809
SUID, 见set-user-ID
Sun Microsystems, 33, 35, 76, 740, 953
SunOS, 33, 206, 330, 354
superuser(超级用户), 16
supplementary group ID(附属组ID), 18, 39, 98, 101, 108,
110, 183~184, 233, 252, 258
SUS(Single UNIX Specification), 28, 30~33, 36, 50, 53~54,
57~58, 60~61, 64, 69, 78, 88, 94, 105, 107, 109, 131,
136, 143, 157, 163, 168~169, 180, 183, 190~191, 196,
211~212, 220~221, 234, 239, 244~245, 262, 293, 296,
311, 315, 322, 330, 333, 352, 354, 410, 425, 429~431,
442, 469~472, 485, 496, 501, 507, 509, 521, 527~528,
533~534, 559, 561, 565~566, 572~573, 583, 596, 607,
610, 612, 623, 627, 645, 662, 674, 678, 683, 722~724,
744, 910, 950, 953
SUSP terminal character(SUSP终端字符), 678, 680, 682,
688, 701
SUSv3(Single UNIX Specification, Version 3), 32
SUSv4 (Single UNIX Specification, Version 4), 32, 88, 132,
143, 153, 168~169, 189, 314, 319~320, 336, 375~376,
384, 442, 501, 509~510, 525, 533, 571, 579
SVID(System V Interface Definition), 32~33, 948
SVR2 , 65, 187, 317, 329, 336, 340~341, 712, 948
SVR3 , 76, 129, 201, 299, 313, 317, 319, 326, 329, 333, 336, 496, 502, 507, 898, 948
SVR3.2, 36, 81, 267
SVR4 , 3, 21, 33, 35~36, 48, 63, 65, 76, 121, 187, 209, 290, 296, 299, 310, 313, 317, 329, 333, 336, 469, 502, 507~508, 521, 712, 722, 744, 948, 953
swapper process(交换进程), 227
S_WRBAND常量, 510
S_WRNORM常量, 510
symbolic link(符号链接), 55, 94~95, 110~111, 114, 118,
120~123, 131, 137, 141, 186, 908~909
symlink函数, 123~124, 331, 452
函数定义, 123
symlinkat函数, 123~124, 331, 452
函数定义, 123
SYMLINK_MAX常量, 39, 44, 49
SYMLOOP_MAX常量, 40, 43, 48~49
sync函数, 61, 81, 452
函数定义, 81
sync程序, 81
synchronization mechanisms(同步机制), 86~87
synchronous write(同步写), 63, 86~87
<sys/acct.h>头文件, 269
sysconf函数, 20, 37, 39, 41~48, 50~54, 57, 59~60, 69, 98, 201, 221, 256, 276, 280~281, 384, 425~426, 429, 431, 442, 516, 527, 616, 618, 623, 800, 815, 907
函数定义, 42
sysctl程序, 315, 559
sysdef程序, 559
<sys/disklabel.h>头文件, 88
<sys/filio.h>头文件, 88
<sys/ipc.h>头文件, 30, 558
<sys/iso/signal_iso.h>头文件, 314
syslog 函数, 452, 465, 468~476, 478~480, 615~619,
622~623, 901, 904, 928
函数定义, 470
syslogd程序, 470~471, 473, 475, 479~480
<syslog.h>头文件, 30
<sys/mkdev.h>头文件, 138
<sys/mman.h>头文件, 29
<sys/msg.h>头文件, 30
<sys/mtio.h>头文件, 88
<sys/param.h>头文件, 49, 51
<sys/resource.h>头文件, 30
<sys/select.h>头文件, 29, 501, 504, 932~933
<sys/sem.h>头文件, 30, 568
<sys/shm.h>头文件, 30
sys_siglist变量, 379
<sys/signal.h>头文件, 314
<sys/socket.h>头文件, 29, 608
<sys/sockio.h>头文件, 88
<sys/stat.h>头文件, 29, 97
<sys/statvfs.h>头文件, 29
<sys/sysmacros.h>头文件, 138
system calls(系统调用), 1, 21
interrupted(中断系统调用), 327~330, 343, 351, 354~355,
365, 508
restarted(重启系统调用), 329~330, 342~343, 351, 354,
508, 700
tracing(跟踪系统调用), 497
versus functions(系统调用与函数), 21~23
system函数, 23, 129, 227, 249, 264~269, 281~283, 349,
367~372, 381, 451, 538, 542, 923, 936
函数定义, 265~266, 369
return value(system函数返回值), 371
system identification(系统标识), 187~189
system process(系统进程), 228, 337
System V, 87, 464, 466, 469, 475, 482, 485, 500~501, 506, 509~510, 722, 726
System V Interface Definition, 见SVID
<sys/time.h>头文件, 30, 501
<sys/time.h>头文件, 29
<sys/ttycom.h>头文件, 88
<sys/types.h>头文件, 29, 58, 138, 501, 557, 933
<sys/uio.h>头文件, 30
<sys/un.h>头文件, 29, 634
<sys/utsname.h>头文件, 29
<sys/wait.h>头文件, 29, 239
T
TAB0常量, 691
TAB1常量, 691
TAB2常量, 691
TAB3常量, 690~691
TABDLY常量, 676, 684, 689~691
tar程序, 127, 135, 142, 910~911
<tar.h>头文件, 29
tcdrain函数, 322, 331, 451, 677, 693
函数定义, 693
tcflag_t数据类型, 674
tcflow函数, 322, 331, 677, 693
函数定义, 693
tcflush函数, 145, 322, 331, 673, 677, 693
函数定义, 693
tcgetattr函数, 331, 674, 677, 679, 683~684, 691~692,
695, 701, 705~707, 722, 730~731
函数定义, 683
tcgetpgrp函数, 298~299, 331, 674, 677函数定义, 298
tcgetsid函数, 298~299, 674, 677
函数定义, 299
TCIFLUSH常量, 653
TCIOFF常量, 693
TCIOFLUSH常量, 693
TCION常量, 693
TCMalloc, 210, 949
TCOFLUSH常量, 693
TCOOFF常量, 693
TCOON常量, 693
TCSADRAIN常量, 683
TCSAFLUSH常量, 679, 683, 701, 705~707
TCSANOW常量, 683~684, 728, 731
tcsendbreak函数, 322, 331, 677, 682, 693~694
函数定义, 693
tcsetattr函数, 322, 331, 673~674, 677, 679, 683~684,
691~692, 701, 705~707, 722, 728, 731, 738
函数定义, 683
tcsetpgrp函数, 298~299, 301, 303, 322, 331, 674, 677
函数定义, 298
tee程序, 554~555
tell函数, 67
TELL_CHILD函数, 247~248, 362, 491, 498, 532, 539, 541,
577, 898
函数定义, 363, 540
telldir函数, 130~135
函数定义, 130
TELL_PARENT函数, 247, 362, 491, 532, 539, 541, 577,
898, 934
函数定义, 363, 540
TELL_WAIT函数, 247~248, 362, 491, 498, 532, 539, 577,
898, 934
函数定义, 363, 540
telnet程序, 292~293, 500, 738~739, 742
telnetd程序, 291~292, 500~501, 717, 734, 923, 944
tempnam函数, 169
TENEX C shell, 3
TERM环境变量, 211, 287, 289
termcap , 712~713, 953
terminal
baud rate(终端波特率), 692~693
canonical mode(终端规范模式), 700~703
controlling(终端控制), 63, 233, 252, 270, 292, 295~298,
301, 303~304, 306, 309, 311~312, 318, 321, 377, 463,
465~466, 469, 480, 680, 685, 691, 694, 700, 702, 716,
724, 726~727, 898, 953
identification(终端标识), 694~700
I/O(终端I/O), 671~713
line control(终端行控制), 693~694
logins(终端登录), 285~290
mode, cbreak(cbreak终端模式), 672, 704, 708, 713
mode, cooked(cooked终端模式), 672
mode, raw(原始终端模式), 672, 704, 708, 713, 732, 734 noncanonical mode(非规范模式), 703~710
options(终端选项), 683~691
parity(终端奇偶性), 688
process group ID(终端进程组ID), 303, 463
special input characters(终端特殊输入字符), 678~682
window size(终端窗口大小), 311, 322, 710~712, 718,
727, 741~742
termination, process(进程终止), 198~202
terminfo , 712~713, 949, 953
termio结构, 674
<termio.h>头文件, 674
termios结构, 64, 311, 674, 677~679, 683~684, 692~693, 695, 701,
703~706, 708, 722, 727, 730~732, 738, 741~742, 897, 944
<termios.h>头文件, 29, 88, 674
text segment(正文段), 204
<tgmath.h>头文件, 27
Thompson, K., 75, 181, 229, 743, 951~953
thread-fork interactions(线程-fork交互), 457~461
thread_init函数, 445
threads(线程), 14, 27, 229, 383~423, 578
cancellation options(线程取消选项), 451~453
concepts(线程概念), 383~385
control(线程控制), 425~462
creation(线程创建), 385~388
I/O(线程I/O), 461~462
reentrancy(线程重入), 442~446
synchronization(线程同步), 397~422
termination(线程终止), 388~397
thread-signal interactions(线程-信号交互), 453~457
thread-specific data(线程特定数据), 446~451
thundering herd(惊群效应), 927
tick, clock(时钟滴答), 20, 42~43, 49, 59, 270, 280
time
and date functions(时间和日期函数), 189~196
calendar(日历时间), 20, 24, 59, 126, 189, 191~192, 264, 270
process(进程时间), 20, 24, 59, 280~282
values(时间值), 20
time程序, 20
TIME terminal value(TIME终端值), 687, 703~704, 708,
713, 943
time函数, 189~190, 194, 264, 331, 357, 639~640, 919, 929
函数定义, 189
<time.h>头文件, 27, 59
timeout函数, 439, 462
TIMER_ABSTIME常量, 375
timer_getoverrun函数, 331
timer_gettime函数, 331
TIMER_MAX常量, 40, 43
timer_settime函数, 331, 353
times, file(文件的时间), 124~125, 532
times函数, 42, 59, 280~281, 331, 522
函数定义, 280
timespec 结构, 94, 126, 128, 189~190, 375, 407~408,
413~414, 437~438, 506, 832
time_t数据类型, 20, 59, 94, 189, 192, 196, 906
timeval结构, 190, 414, 421, 437, 503, 506, 805~806,
929, 933
timing
full-duplex pipes(全双工管道时间), 565
message queues(消息队列时间), 565
read buffer sizes(读缓冲区大小时间), 73
read/write versus mmap(读/写时间与mmap时间), 530
standard I/O versus unbuffered I/O(标准I/O时间与非缓冲I/O时间), 155
STREAMS-based pipes(基于STREAMS的管道时间), 565 synchronization mechanisms(同步机制时间), 86~87
UNIX domain sockets(UNIX域套接字时间), 565
writev versus other techniques(writev与其他技术时间), 522
timing comparison, mutex(互斥量时间比较), 571
record locking(记录锁与互斥量时间比较), 571
semaphore locking(信号量锁与互斥量时间比较), 571, 583
TIOCGWINSZ常量, 710~711, 719, 730, 897
TIOCPKT常量, 740
TIOCREMOTE常量, 741
TIOCSCTTY常量, 297~298, 727~728
TIOCSIG常量, 741
TIOCSIGNAL常量, 741
TIOCSWINSZ常量, 710, 718, 728, 741
tip程序, 713
tm结构, 191, 194, 408, 919
TMPDIR环境变量, 211
tmpfile函数, 167~171, 366, 452
函数定义,167
TMP_MAX常量, 38, 168
tmpnam函数, 38, 167~171, 442
函数定义, 167
tms结构, 280~281
TOCTTOU错误, 65, 250, 953
Torvalds, L., 35
TOSTOP常量, 676, 691
touch程序, 127
tracing system calls(跟踪系统调用), 497
transactions, database(数据库事务), 952
TRAP_BRKPT常量, 353
TRAP_TRACE常量, 353
tread函数, 800, 805~806, 825, 838~839
函数定义, 805
treadn函数, 800, 806, 824
函数定义, 806
Trickey, H., 229, 952 truncate函数, 112, 121, 125, 474
函数定义, 112
truncation
file(文件截断), 112
filename(文件名截断), 65~66
pathname(路径名截断), 65~66
truss程序, 497
ttcompat STREAMS模块, 716, 726
tty结构, 311
tty_atexit函数, 705, 731, 897
函数定义, 708
tty_cbreak函数, 704, 709, 897
函数定义, 705
ttymon程序, 290
ttyname函数, 137, 276, 442, 452, 695~696, 699
函数定义, 695, 698
TTY_NAME_MAX常量, 40, 43, 49
ttyname_r函数, 443, 452
tty_raw函数, 704, 709, 713, 731, 897
函数定义, 706
tty_reset函数, 704, 709, 897
函数定义, 707
tty_termios函数, 705, 897
函数定义, 708
type属性, 431
typescript文件, 719, 737
TZ环境变量, 190, 192, 195~196, 211, 919
TZNAME_MAX常量, 40, 43, 49
tzset函数, 452
U
Ubuntu, 7, 26, 35, 290
UCHAR_MAX常量, 37~38
ucontext_t结构, 352
ucred结构, 649, 651
UFS文件系统, 49, 57, 65, 113, 116, 129
UID, 见 user ID
uid_t数据类型, 59
uint16_t数据类型, 595
uint32_t数据类型, 595
UINT_MAX常量, 37~38
ulimit程序, 53, 222
ULLONG_MAX常量, 37
ULONG_MAX常量, 37
umask函数, 104~107, 222, 331, 466~467
函数定义, 104
umask程序, 105, 141
uname函数, 187, 196, 331
函数定义, 187
uname程序, 188, 196
unbuffered I/O(不带缓冲的I/O), 8, 61~91
unbuffered I/O timing, standard I/O versus(标准I/O与不带缓冲的I/O的时间), 155
ungetc函数, 151~152, 452
函数定义, 151
ungetwc函数, 452
uninitialized data segment(未初始化的数据段), 205
<unistd.h>头文件, 9, 29, 53, 62, 110, 442, 501, 755, 895
UNIX Architecture(UNIX体系结构), 1~2
UNIX domain sockets(UNIX域套接字), 629~642
timing(UNIX域套接字时间), 565
UNIX System implementations(UNIX系统实现), 33
Unix-to-Unix Copy, 见UUCP
UnixWare , 35
unlink函数, 114, 116~119, 121~122, 125, 141, 169~170, 331, 366, 452, 497, 553, 637, 639, 641, 823, 826~827, 837, 909, 911 , 937, 942
函数定义, 117
unlinkat函数, 116~119, 331, 452
函数定义, 117
un_lock 函数, 489, 759~760, 762, 768, 770~771, 773,
777~778, 780, 897
unlockpt函数, 723~725
函数定义, 723
Unrau, R., 174, 531, 950
unreliable signals(不可靠信号), 326~327
unsetenv函数, 212, 442
函数定义, 212
update程序, 81
update_jobno函数, 814, 819, 832, 843
函数定义, 819
Upstart, 290
uptime程序, 614~615, 617, 619~620, 622~623, 628
_ _USE_BSD常量, 473
USER环境变量, 210, 288
user ID(用户ID), 16, 255~260
effectiv(e 有效用户ID), 98~99, 101~102, 106, 110, 126, 140, 228, 233, 253, 256~260, 276, 286, 288, 337, 381, 558, 562, 568, 573, 586~587, 637, 640, 809, 918
real(实际用户ID), 39~40, 43, 98~99, 102, 221, 228, 233,
252~253, 256~260, 270, 276, 286, 288, 337, 381, 585, 924
USHRT_MAX常量, 37
usleep函数, 532, 934
UTC(Coordinated Universal Time,国际协调时间), 20, 189,
192, 196
utime函数, 127, 331, 910
UTIME_NOW常量, 126
utimensat函数, 125~128, 331, 452, 910
函数定义, 126
UTIME_OMIT常量, 126~127
utimes函数, 125~128, 141, 331, 452, 910
函数定义, 127
utmp文件, 186~187, 276, 312, 734, 923, 930
utmp结构, 187
utmpx文件, 187
<utmpx.h>头文件, 30
utsname结构, 187~188, 196
UUCP(UNIX-to-UNIX Copy,UNIX间复制), 188
uucp程序, 500
V
V7, 329, 726
va_arg函数, 758
va_end函数, 758, 899~903
va_list数据类型, 758, 899~903
/var/account/acct文件, 269
/var/adm/pacct文件, 269
<varargs.h>头文件, 162
variables
automatic(自动变量), 205, 215, 217, 219, 226
global(全局变量), 219
register(寄存器变量), 217
static(静态变量), 219
volatile(易失变量), 217, 219, 340, 357
/var/log/account/pacct文件, 269
/var/log/wtmp文件, 187
/var/run/utmp文件, 187
va_start函数, 758, 899~903
VDISCARD常量, 678
vdprintf函数, 161, 452
函数定义, 161
VDSUSP常量, 678
VEOF常量, 678~679, 704
VEOL常量, 678, 704
VEOL2常量, 678
VERASE常量, 678
VERASE2常量, 678
vfork函数, 229, 234~236, 283, 921~922
vfprintf函数, 161, 452
函数定义, 161
vfscanf函数, 163
函数定义, 163
vfwprintf函数, 452
vi程序, 377, 497, 499, 672, 711~713, 943
VINTR常量, 678~679
vipw程序, 179
VKILL常量, 678
VLNEXT常量, 678
VMIN常量, 703~705, 707
v-node(v节点), 74~76, 78, 136, 312, 642, 907, 950
vnode结构, 311~312
Vo, K. P., 135, 174, 949~950, 953
volatile variables(易失变量), 217, 219, 340, 357
vprintf函数, 161, 452
函数定义, 161
VQUIT常量, 678
vread函数, 525
VREPRINT常量, 678
vscanf函数, 163
函数定义, 163
vsnprintf函数, 161, 901
函数定义, 161
vsprintf函数, 161, 471
函数定义, 161
vsscanf函数, 163
函数定义, 163
VSTART常量, 678
VSTATUS常量, 678
VSTOP常量, 678
VSUSP常量, 678
vsyslog函数, 472
函数定义, 472
VT0常量, 691
VT1常量, 691
VTDLY常量, 676, 684, 689, 691 VTIME常量, 703~705, 707
VWERASE常量, 678
vwprintf函数, 452
vwrite函数, 525
W
wait 函数, 231~232, 237~246, 249, 255, 264, 267, 280, 282~283, 301, 317, 328~329, 331, 333~335, 351, 368, 371~372, 451, 471, 499, 546, 588, 936
函数定义, 238
wait3函数, 245
函数定义, 245
wait4函数, 245
函数定义, 245
WAIT_CHILD函数, 247, 362, 491, 532, 539, 577, 898, 934
函数定义, 363, 540
waitid函数, 244~245, 283, 451
函数定义, 244
WAIT_PARENT函数, 247~248, 362, 491, 498, 532, 539,
577, 898
函数定义, 363, 540
waitpid函数, 11~13, 19, 23, 237~245, 254, 261, 265~267, 282, 285, 294, 301, 315, 329, 331, 370~371, 451, 498, 538, 545~546, 587~588, 618, 935, 937, 939
函数定义, 238
wall程序, 723
wc程序, 112
<wchar.h>头文件, 27, 144
wchar_t数据类型, 59
WCONTINUED常量, 242, 244
WCOREDUMP函数, 239~240
wcrtomb函数, 442
wcsftime函数, 452
wcsrtombs函数, 442
wcstombs函数, 442
wctomb函数, 442
<wctype.h>头文件, 27
Weeks, M. S., 206, 949
Wei, J., 65, 953
Weinberger, P. J., 76, 262, 743, 947, 953
Weinstock, C. B., 953
WERASE terminal characte(r WERASE终端字符), 678, 682,
685~687, 703
WEXITED常量, 244
WEXITSTATUS函数, 239~240
who程序, 187, 734
WIFCONTINUED函数, 239
WIFEXITED函数, 239~240
WIFSIGNALED函数, 239~240
WIFSTOPPED函数, 239~240, 242
Williams, T., 310, 953
window size
pseudo terminal(伪终端窗口大小), 741
terminal(终端窗口大小), 311, 322, 710~712, 718, 727, 741~742
winsize结构, 311, 710~711, 727, 730, 732, 742, 897, 944
Winterbottom, P., 229, 952
WNOHANG常量, 242, 244
WNOWAIT常量, 242, 244
W_OK常量, 102
WORD_BIT常量, 38
wordexp函数, 452
<wordexp.h>头文件, 29
worker_thread结构, 812~813, 828~829
working directory, 见current directory
worm, Internet(因特网蠕虫), 153
wprintf函数, 452
write
delayed(延迟写), 81
gather(聚集写), 521, 644
synchronous(同步写), 63, 86~87
write程序, 723
write函数, 8~10, 20~21, 59, 61, 63~64, 68~69, 72, 77~79,
86~88, 90, 125, 145~146, 156, 167, 174, 230~231, 234,247, 328~329, 331, 342~343, 378, 382, 451, 474, 482~484, 491, 495~498, 502, 505, 509, 513, 517, 522~526, 530~532, 537~538, 540, 549~551, 553, 555, 560, 565, 587, 590, 592, 610, 614, 620, 643, 654~655, 672, 752, 760, 773, 810, 819, 826, 836, 907~908, 921, 925, 934, 936~937, 945
函数定义, 72
write_lock函数, 489, 493, 498, 818, 897
writen 函数, 523~524, 644, 732~733, 738, 810~811,
824~827, 836, 896
函数定义, 523~524
writev函数, 41, 43, 329, 451, 481, 521~523, 531~532, 592,
611, 644, 655, 660, 752, 771, 773, 832, 836
函数定义, 521
writew_lock函数, 489, 491, 759, 763, 769, 771~772, 777,
787, 897
wscanf函数, 452
WSTOPPED常量, 244
WSTOPSIG函数, 239~240
WTERMSIG函数, 239~240
wtmp文件, 186~187, 312, 923
Wulf, W. A., 953
WUNTRACED常量, 242
X
xargs程序, 252
XCASE常量, 691
Xenix, 33, 485, 726
xinetd程序, 293
X_OK常量, 102
X/Open, 31, 953
X/Open Curses, 32
X/Open Portability Guide(X/Open可移植性指南), 31~32
Issue 3, 见 XPG3
Issue 4, 见XPG4
_XOPEN_CRYPT常量, 31, 57
_XOPEN_IOV_MAX常量, 41
_XOPEN_NAME_MAX常量, 41
_XOPEN_PATH_MAX常量, 41
_XOPEN_REALTIME常量, 31, 57
_XOPEN_REALTIME_THREADS常量, 31, 57
_XOPEN_SHM常量, 57
_XOPEN_SOURCE常量, 57~58
_XOPEN_UNIX常量, 30~31, 57
_XOPEN_VERSION常量, 57
XPG3(X/Open Portability Guide, Issue 3,X/Open可移植
性指南第3版), 33, 953
XPG4(X/Open Portability Guide, Issue 4,X/Open可移植性指南第34版), 32, 54
XSI, 30~31, 53~54, 57, 94, 107, 109, 131~132, 143, 161, 163, 168~169, 180, 183, 211~212, 220, 222, 239, 242, 244~245, 252, 257, 276, 293, 315, 317, 322, 329, 333, 350~352, 377, 429, 431, 442, 469~472, 485, 521, 526, 528, 534, 553, 562~563, 566, 571, 576, 578, 587~588, 666, 676, 685, 687, 689~691, 722, 724, 744, 910
XSI IPC, 556~560
XTABS常量, 690~691
Y
Yigit, O., 744, 952
Z
zombie(僵死进程), 237~238, 242, 283, 333, 351, 923
Table of Contents
1.1 引言
1.2 UNIX体系结构
1.3 登录
1.4 文件和目录
1.5 输入和输出
1.6 程序和进程
1.7 出错处理
1.8 用户标识
1.9 信号
1.10 时间值
1.11 系统调用和库函数
1.12 小结
习题
2.1 引言
2.2 UNIX标准化
2.2.1 ISO C
2.2.2 IEEE POSIX
2.2.3 Single UNIX Specification
2.2.4 FIPS
2.3 UNIX系统实现
2.3.1 SVR4
2.3.2 4.4BSD
2.3.3 FreeBSD
2.3.4 Linux
2.3.5 Mac OS X
2.3.6 Solaris
2.3.7 其他UNIX系统
2.4 标准和实现的关系
2.5 限制
2.5.1 ISO C限制
2.5.2 POSIX限制
2.5.3 XSI限制
2.5.4 函数sysconf、pathconf和fpathconf
2.5.5 不确定的运行时限制
2.6 选项
2.7 功能测试宏
2.8 基本系统数据类型
2.9 标准之间的冲突
2.10 小结
习题
3.1 引言
3.2 文件描述符
3.3 函数open和openat
3.4 函数creat
3.5 函数close
3.6 函数lseek
3.7 函数read
3.8 函数write
3.9 I/O的效率
3.10 文件共享
3.11 原子操作
3.12 函数dup和dup2
3.13 函数sync、fsync和fdatasync
3.14 函数fcntl
3.15 函数ioctl
3.16 /dev/fd
3.17 小结
习题
4.1 引言
4.2 函数stat、fstat、fstatat和lstat
4.3 文件类型
4.4 设置用户ID和设置组ID
4.5 文件访问权限
4.6 新文件和目录的所有权
4.7 函数access和faccessat
4.8 函数umask
4.9 函数chmod、fchmod和fchmodat
4.10 粘着位
4.11 函数chown、fchown、fchownat和lchown
4.12 文件长度
4.13 文件截断
4.14 文件系统
4.15 函数link、linkat、unlink、unlinkat和remove
4.16 函数rename和renameat
4.17 符号链接
4.18 创建和读取符号链接
4.19 文件的时间
4.20 函数futimens、utimensat和utimes
4.21 函数mkdir、mkdirat和rmdir
4.22 读目录
4.23 函数chdir、fchdir和getcwd
4.24 设备特殊文件
4.25 文件访问权限位小结
4.26 小结
习题
5.1 引言
5.2 流和FILE对象
5.3 标准输入、标准输出和标准错误
5.4 缓冲
5.5 打开流
5.6 读和写流
5.7 每次一行I/O
5.8 标准I/O的效率
5.9 二进制I/O
5.10 定位流
5.11 格式化I/O
5.12 实现细节
5.13 临时文件
5.14 内存流
5.15 标准I/O的替代软件
5.16 小结
习题
6.1 引言
6.2 口令文件
6.3 阴影口令
6.4 组文件
6.5 附属组ID
6.6 实现区别
6.7 其他数据文件
6.8 登录账户记录
6.9 系统标识
6.10 时间和日期例程
6.11 小结
习题
7.1 引言
7.2 main函数
7.3 进程终止
7.4 命令行参数
7.5 环境表
7.6 C程序的存储空间布局
7.7 共享库
7.8 存储空间分配
7.9 环境变量
7.10 函数setjmp和longjmp
7.11 函数getrlimit和setrlimit
7.12 小结
习题
8.1 引言
8.2 进程标识
8.3 函数fork
8.4 函数vfork
8.5 函数exit
8.6 函数wait和waitpid
8.7 函数waitid
8.8 函数wait3和wait4
8.9 竞争条件
8.10 函数exec
8.11 更改用户ID和更改组ID
8.12 解释器文件
8.13 函数system
8.14 进程会计
8.15 用户标识
8.16 进程调度
8.17 进程时间
8.18 小结
习题
9.1 引言
9.2 终端登录
9.3 网络登录
9.4 进程组
9.5 会话
9.6 控制终端
9.7 函数tcgetpgrp、tcsetpgrp和tcgetsid
9.8 作业控制
9.9 shell执行程序
9.10 孤儿进程组
9.11 FreeBSD实现
9.12 小结
习题
10.1 引言
10.2 信号概念
10.3 函数signal
10.4 不可靠的信号
10.5 中断的系统调用
10.6 可重入函数
10.7 SIGCLD语义
10.8 可靠信号术语和语义
10.9 函数kill和raise
10.10 函数alarm和pause
10.11 信号集
10.12 函数sigprocmask
10.13 函数sigpending
10.14 函数sigaction
10.15 函数sigsetjmp和siglongjmp
10.16 函数sigsuspend
10.17 函数abort
10.18 函数system
10.19 函数sleep、nanosleep和clock_nanosleep
10.20 函数sigqueue
10.21 作业控制信号
10.22 信号名和编号
10.23 小结
习题
11.1 引言
11.2 线程概念
11.3 线程标识
11.4 线程创建
11.5 线程终止
11.6 线程同步
11.6.1 互斥量
11.6.2 避免死锁
11.6.3 函数pthread_mutex_timedlock
11.6.4 读写锁
11.6.5 带有超时的读写锁
11.6.6 条件变量
11.6.7 自旋锁
11.6.8 屏障
11.7 小结
习题
12.1 引言
12.2 线程限制
12.3 线程属性
12.4 同步属性
12.4.1 互斥量属性
12.4.2 读写锁属性
12.4.3 条件变量属性
12.4.4 屏障属性
12.5 重入
12.6 线程特定数据
12.7 取消选项
12.8 线程和信号
12.9 线程和fork
12.10 线程和I/O
12.11 小结
习题
13.1 引言
13.2 守护进程的特征
13.3 编程规则
13.4 出错记录
13.5 单实例守护进程
13.6 守护进程的惯例
13.7 客户进程-服务器进程模型
13.8 小结
习题
14.1 引言
14.2 非阻塞I/O
14.3 记录锁
14.4 I/O多路转接
14.4.1 函数select和pselect
14.4.2 函数poll
14.5 异步I/O
14.5.1 System V异步I/O
14.5.2 BSD异步I/O
14.5.3 POSIX异步I/O
14.6 函数readv和writev
14.7 函数readn和writen
14.8 存储映射I/O
14.9 小结
习题
15.1 引言
15.2 管道
15.3 函数popen和pclose
15.4 协同进程
15.5 FIFO
15.6 XSI IPC
15.6.1 标识符和键
15.6.2 权限结构
15.6.3 结构限制
15.6.4 优点和缺点
15.7 消息队列
15.8 信号量
15.9 共享存储
15.10 POSIX信号量
15.11 客户进程-服务器进程属性
15.12 小结
习题
16.1 引言
16.2 套接字描述符
16.3 寻址
16.3.1 字节序
16.3.2 地址格式
16.3.3 地址查询
16.3.4 将套接字与地址关联
16.4 建立连接
16.5 数据传输
16.6 套接字选项
16.7 带外数据
16.8 非阻塞和异步I/O
16.9 小结
习题
17.1 引言
17.2 UNIX域套接字
17.3 唯一连接
17.4 传送文件描述符
17.5 open服务器进程第1版
17.6 open服务器进程第2版
17.7 小结
习题
18.1 引言
18.2 综述
18.3 特殊输入字符
18.4 获得和设置终端属性
18.5 终端选项标志
18.6 stty命令
18.7 波特率函数
18.8 行控制函数
18.9 终端标识
18.10 规范模式
18.11 非规范模式
18.12 终端窗口大小
18.13 termcap、terminfo和curses
18.14 小结
习题
19.1 引言
19.2 概述
19.3 打开伪终端设备
19.4 函数pty_fork
19.5 pty程序
19.6 使用pty程序
19.7 高级特性
19.8 小结
习题
20.1 引言
20.2 历史
20.3 函数库
20.4 实现概述
20.5 集中式或非集中式
20.6 并发
20.7 构造函数库
20.8 源代码
20.9 性能
20.10 小结
习题
21.1 引言
21.2 网络打印协议
21.3 超文本传输协议HTTP
21.4 打印假脱机技术
21.5 源代码
21.6 小结
习题