203:
1110:
system call. Note, however, that what is actually passed is a reference to an "open file description" that has mutable state (the file offset, and the file status and access flags). This complicates the secure use of file descriptors as capabilities, since when programs share access to the same open
1111:
file description, they can interfere with each other's use of it by changing its offset or whether it is blocking or non-blocking, for example. In operating systems that are specifically designed as capability systems, there is very rarely any mutable state associated with a capability itself.
214:
system call) and that multiple file table entries can in turn refer to the same inode (if it has been opened multiple times; the table is still simplified because it represents inodes by file names, even though an inode can have
797:
function is used to perform various operations on a file descriptor, depending on the command argument passed to it. There are commands to get and set attributes associated with a file descriptor, including
348:
usually includes a low level file descriptor for the object in question on Unix-like systems. The overall data structure provides additional abstraction and is instead known as a
986:
A series of new operations on file descriptors has been added to many modern Unix-like systems, as well as numerous C libraries, to be standardized in a future version of
243:
with which the file (or other resource) has been opened: for reading, writing, appending, and possibly other modes. It also indexes into a third table called the
1398:
1243:
1331:
247:
that describes the actual underlying files. To perform input or output, the process passes the file descriptor to the kernel through a
251:, and the kernel will access the file on behalf of the process. The process does not have direct access to the file or inode tables.
1105:
1682:
1391:
2085:
1384:
1227:
231:
maintained by the kernel, that in turn indexes into a system-wide table of files opened by all processes, called the
87:
1848:
1542:
1361:
1314:
1891:
994:
suffix signifies that the function takes an additional first argument supplying a file descriptor from which
977:(a large collection of miscellaneous operations on a single file descriptor, often associated with a device)
210:
table. Note that multiple file descriptors can refer to the same file table entry (e.g., as a result of the
1675:
1590:
1422:
1007:
333:. File descriptors can also refer to other objects that do not normally exist in the file system, such as
2025:
1824:
1458:
1161:
1182:
1734:
1495:
1443:
1261:
1115:
834:(duplicates an existing file descriptor guaranteeing to be the lowest number available file descriptor)
95:
77:
1339:
219:). File descriptor 3 does not refer to anything in the file table, signifying that it has been closed.
2032:
1532:
1482:
1453:
1096:
1836:
1580:
1522:
314:
2037:
1744:
1729:
1668:
1448:
1428:
1407:
17:
820:(BSD and Solaris only; deletes all file descriptors greater than or equal to specified number)
1864:
1219:
1208:
2052:
1967:
1901:
1724:
1567:
1282:
769:
1002:
suffix thus becoming equivalent to passing a file descriptor corresponding to the current
8:
1941:
1931:
1881:
1463:
811:
524:
91:
1262:"The Open Group Base Specifications Issue 7, IEEE Std 1003.1-2008, 2018 Edition – creat"
80:
values, with negative values being reserved to indicate "no value" or error conditions.
1936:
1926:
1819:
1649:
1513:
1137:
1100:
596:
520:
385:
351:
326:
263:
51:
2059:
1812:
1433:
1310:
1223:
1003:
830:
223:
In the traditional implementation of Unix, file descriptors index into a per-process
211:
849:(Close fd1 if necessary, and make file descriptor fd1 point to the open file of fd2)
2015:
1908:
1896:
1874:
1739:
1478:
912:
867:(sets the process's current working directory based on a directory file descriptor)
745:(Linux, takes a single epoll filedescriptor to wait on many other file descriptors)
322:
99:
55:
2005:
1490:
1244:"Devices - What does the output of 'll /Proc/Self/Fd/' (From 'll /Dev/Fd') mean?"
62:
1303:
1183:"The Open Group Base Specifications Issue 7, IEEE Std 1003.1-2008, 2016 Edition"
1162:"The Open Group Base Specifications Issue 7, IEEE Std 1003.1-2008, 2016 Edition"
98:) should have three standard POSIX file descriptors, corresponding to the three
2080:
1972:
1918:
1831:
1781:
1776:
1644:
1551:
1257:
1157:
338:
334:
310:
258:, the set of file descriptors open in a process can be accessed under the path
70:
1006:. The purpose of these new operations is to defend against a certain class of
2074:
2042:
1984:
1977:
1807:
1691:
1639:
1376:
1215:
995:
712:
202:
2047:
2020:
2010:
1802:
1756:
1634:
1629:
1575:
1127:
318:
59:
1886:
1771:
1761:
1719:
1705:
1600:
723:
248:
66:
574:(also used for sending FDs to other processes over a Unix domain socket)
1869:
1608:
1557:
330:
1962:
1843:
1766:
1714:
1709:
1547:
364:
363:
The following lists typical operations on file descriptors on modern
306:
216:
35:
1797:
1751:
1527:
116:
1660:
1468:
126:
313:
named in a file system. As well as regular files, this includes
2000:
1517:
1509:
1505:
1500:
1140:(FCB) - an alternative scheme in CP/M and early versions of DOS
756:
179:
159:
290:. As a shortcut to these, any running process can also access
1585:
1537:
987:
972:
748:
345:
255:
244:
207:
139:
84:
1362:"Don't set shared file descriptors to non-blocking I/O mode"
1624:
1132:
962:(shuts down one or both halves of a full duplex connection)
871:
845:
838:
31:
936:(creates a new file descriptor for an incoming connection)
788:
706:
1280:
1114:
A Unix process' file descriptor table is an example of a
513:
1332:"Building a bridge: library API's and file descriptors?"
876:(maps ranges of a file into the process's address space)
858:
206:
File descriptors for a single process, file table and
367:
systems. Most of these functions are declared in the
1090:
1302:
1207:
696:(stdio function:converts file descriptor to FILE*)
358:
2072:
1359:
1099:. They can be passed between processes across
27:System resource identifier in operating systems
1406:
1676:
1392:
1095:Unix file descriptors behave in many ways as
76:File descriptors typically have non-negative
496:
378:
702:(stdio function: prints to file descriptor)
309:systems, file descriptors can refer to any
1683:
1669:
1399:
1385:
1256:
1180:
1156:
1329:
201:
1210:The Design of the UNIX Operating System
789:Operations on the file descriptor table
707:Operations on multiple file descriptors
14:
2073:
1201:
1199:
981:
514:Operations on a single file descriptor
1664:
1380:
294:file descriptors through the folders
1283:"close_range(2) — Linux manual page"
1205:
998:are resolved, the forms lacking the
859:Operations that modify process state
1360:de Boyne Pollard, Jonathan (2007).
1196:
83:File descriptors are a part of the
24:
1690:
50:) is a process-unique identifier (
25:
2097:
1330:Brinkmann, Marcus (2009-02-04).
1309:. The Open Group. October 2006.
1091:File descriptors as capabilities
966:
1281:Stephen Kitt, Michael Kerrisk.
880:
344:The FILE data structure in the
325:(also called "special files"),
1849:Hidden file / Hidden directory
1353:
1323:
1295:
1274:
1250:
1236:
1174:
1150:
468:(with flag CLONE_PIDFD, Linux)
359:Operations on file descriptors
38:computer operating systems, a
13:
1:
1892:Filesystem Hierarchy Standard
1144:
690:(with P_PIDFD ID type, Linux)
1423:Principle of least privilege
371:header, but some are in the
7:
2086:Unix file system technology
2026:Comparison of file managers
1825:List of filename extensions
1459:Capability-based addressing
1121:
197:
10:
2102:
910:
906:
2033:File system fragmentation
1993:
1950:
1917:
1857:
1790:
1698:
1617:
1599:
1566:
1477:
1454:Capability-based security
1415:
1206:Bach, Maurice J. (1986).
892:fcntl() (F_GETLK, F_SETLK
800:F_GETFD, F_SETFD, F_GETFL
497:Deriving file descriptors
379:Creating file descriptors
239:. This table records the
1837:Extended file attributes
1745:Proprietary file formats
1305:Extended API Set, Part 2
761:(for BSD-based systems).
2038:File-system permissions
1449:Object-capability model
1429:Confused deputy problem
346:C standard I/O library
220:
1568:Programming languages
227:file descriptor table
205:
2053:File synchronization
1902:Semantic file system
1725:List of file formats
1618:Specialised hardware
1882:Directory structure
1101:Unix domain sockets
982:Upcoming operations
676:pidfd_send_signal()
478:open_by_handle_at()
327:Unix domain sockets
262:, where PID is the
1820:Filename extension
1650:Plessey System 250
1138:File Control Block
266:. File descriptor
264:process identifier
221:
121:symbolic constant
46:, less frequently
2068:
2067:
2060:File verification
1813:Filename mangling
1740:Open file formats
1658:
1657:
1479:Operating systems
1434:Ambient authority
1408:Object-capability
1185:. <stdio.h>
1004:working directory
782:copy_file_range()
323:character devices
195:
194:
16:(Redirected from
2093:
2016:Data compression
1897:Grid file system
1875:Temporary folder
1865:Directory/folder
1685:
1678:
1671:
1662:
1661:
1464:Zooko's triangle
1401:
1394:
1387:
1378:
1377:
1372:
1371:
1369:
1368:
1357:
1351:
1350:
1348:
1347:
1338:. Archived from
1327:
1321:
1320:
1308:
1299:
1293:
1292:
1290:
1289:
1278:
1272:
1271:
1269:
1268:
1254:
1248:
1247:
1240:
1234:
1233:
1213:
1203:
1194:
1193:
1191:
1190:
1181:The Open Group.
1178:
1172:
1171:
1169:
1168:
1154:
1109:
1086:
1081:
1076:
1071:
1066:
1061:
1056:
1051:
1046:
1041:
1036:
1031:
1026:
1021:
1016:
1001:
993:
975:
961:
956:
951:
946:
941:
935:
930:
925:
920:
913:Berkeley sockets
902:
897:
893:
888:
875:
866:
854:
848:
842:
833:
825:
819:
814:
805:
801:
796:
783:
777:
772:
766:
759:
751:
744:
740:
736:
731:
726:
720:
715:
701:
695:
689:
683:
677:
671:
665:
659:
653:
649:
643:
639:
634:
629:
624:
619:
614:
609:
604:
599:
592:
588:
583:
579:
573:
569:
564:
560:
555:
551:
546:
542:
537:
533:
528:
509:
504:
491:
485:
479:
473:
467:
461:
455:
449:
443:
437:
436:timerfd_create()
431:
425:
419:
414:
409:
404:
399:
394:
389:
375:header instead.
374:
370:
369:<unistd.h>
301:
297:
289:
285:
281:
277:
273:
269:
261:
237:
236:
229:
228:
191:
186:
171:
166:
151:
146:
130:
120:
105:
104:
100:standard streams
94:(except perhaps
21:
2101:
2100:
2096:
2095:
2094:
2092:
2091:
2090:
2071:
2070:
2069:
2064:
2006:File comparison
1989:
1958:File descriptor
1946:
1913:
1853:
1786:
1730:File signatures
1694:
1689:
1659:
1654:
1613:
1595:
1562:
1473:
1439:File descriptor
1411:
1405:
1375:
1366:
1364:
1358:
1354:
1345:
1343:
1328:
1324:
1317:
1301:
1300:
1296:
1287:
1285:
1279:
1275:
1266:
1264:
1255:
1251:
1242:
1241:
1237:
1230:
1204:
1197:
1188:
1186:
1179:
1175:
1166:
1164:
1155:
1151:
1147:
1124:
1104:
1093:
1084:
1079:
1074:
1069:
1064:
1059:
1054:
1049:
1044:
1039:
1034:
1029:
1024:
1019:
1014:
999:
991:
984:
973:
969:
959:
954:
949:
944:
939:
933:
928:
923:
918:
915:
909:
900:
895:
891:
886:
883:
870:
864:
861:
853:fcntl (F_DUPFD)
852:
844:
837:
829:
823:
817:
810:
803:
799:
794:
791:
781:
775:
770:
764:
757:
749:
742:
738:
734:
729:
724:
718:
713:
709:
699:
693:
687:
681:
675:
669:
663:
657:
651:
647:
641:
637:
632:
627:
622:
617:
612:
607:
602:
595:
590:
586:
581:
577:
571:
567:
562:
558:
553:
549:
544:
540:
535:
531:
519:
516:
507:
502:
499:
489:
483:
477:
471:
465:
459:
454:fanotify_init()
453:
447:
441:
435:
429:
423:
417:
412:
407:
402:
397:
392:
384:
381:
373:<fcntl.h>
372:
368:
361:
339:network sockets
335:anonymous pipes
299:
295:
287:
283:
279:
275:
271:
267:
259:
234:
233:
226:
225:
200:
189:
184:
169:
164:
160:Standard output
149:
144:
124:
114:
40:file descriptor
28:
23:
22:
15:
12:
11:
5:
2099:
2089:
2088:
2083:
2066:
2065:
2063:
2062:
2057:
2056:
2055:
2050:
2040:
2035:
2030:
2029:
2028:
2018:
2013:
2008:
2003:
1997:
1995:
1991:
1990:
1988:
1987:
1982:
1981:
1980:
1975:
1965:
1960:
1954:
1952:
1948:
1947:
1945:
1944:
1939:
1934:
1929:
1923:
1921:
1915:
1914:
1912:
1911:
1906:
1905:
1904:
1899:
1894:
1884:
1879:
1878:
1877:
1872:
1861:
1859:
1855:
1854:
1852:
1851:
1846:
1841:
1840:
1839:
1832:File attribute
1829:
1828:
1827:
1817:
1816:
1815:
1810:
1805:
1794:
1792:
1788:
1787:
1785:
1784:
1782:Zero-byte file
1779:
1777:Temporary file
1774:
1769:
1764:
1759:
1754:
1749:
1748:
1747:
1742:
1737:
1732:
1727:
1717:
1712:
1702:
1700:
1696:
1695:
1692:Computer files
1688:
1687:
1680:
1673:
1665:
1656:
1655:
1653:
1652:
1647:
1645:Intel iAPX 432
1642:
1637:
1632:
1627:
1621:
1619:
1615:
1614:
1612:
1611:
1605:
1603:
1597:
1596:
1594:
1593:
1588:
1583:
1578:
1572:
1570:
1564:
1563:
1561:
1560:
1555:
1552:HarmonyOS NEXT
1545:
1540:
1535:
1530:
1525:
1520:
1503:
1498:
1493:
1487:
1485:
1475:
1474:
1472:
1471:
1466:
1461:
1456:
1451:
1446:
1441:
1436:
1431:
1426:
1419:
1417:
1413:
1412:
1404:
1403:
1396:
1389:
1381:
1374:
1373:
1352:
1322:
1315:
1294:
1273:
1258:The Open Group
1249:
1235:
1228:
1214:(8 ed.).
1195:
1173:
1158:The Open Group
1148:
1146:
1143:
1142:
1141:
1135:
1130:
1123:
1120:
1092:
1089:
1088:
1087:
1082:
1077:
1072:
1067:
1062:
1057:
1052:
1047:
1042:
1037:
1032:
1027:
1022:
1017:
996:relative paths
983:
980:
979:
978:
968:
965:
964:
963:
957:
952:
947:
942:
937:
931:
926:
921:
908:
905:
904:
903:
898:
889:
882:
879:
878:
877:
868:
860:
857:
856:
855:
850:
835:
827:
821:
815:
790:
787:
786:
785:
779:
767:
762:
754:
746:
743:epoll_pwait2()
732:
721:
708:
705:
704:
703:
697:
691:
685:
679:
673:
667:
661:
655:
652:fremovexattr()
645:
635:
630:
625:
620:
615:
610:
605:
600:
593:
584:
575:
565:
556:
547:
538:
529:
515:
512:
511:
510:
505:
498:
495:
494:
493:
487:
481:
475:
469:
463:
460:inotify_init()
457:
451:
445:
442:memfd_create()
439:
433:
427:
421:
418:epoll_create()
415:
410:
405:
400:
395:
390:
380:
377:
360:
357:
311:Unix file type
284:/proc/PID/fd/2
276:/proc/PID/fd/1
268:/proc/PID/fd/0
217:multiple names
199:
196:
193:
192:
187:
182:
180:Standard error
177:
173:
172:
167:
162:
157:
153:
152:
147:
142:
140:Standard input
137:
133:
132:
122:
112:
109:
108:Integer value
71:network socket
26:
9:
6:
4:
3:
2:
2098:
2087:
2084:
2082:
2079:
2078:
2076:
2061:
2058:
2054:
2051:
2049:
2046:
2045:
2044:
2043:File transfer
2041:
2039:
2036:
2034:
2031:
2027:
2024:
2023:
2022:
2019:
2017:
2014:
2012:
2009:
2007:
2004:
2002:
1999:
1998:
1996:
1992:
1986:
1985:Symbolic link
1983:
1979:
1976:
1974:
1971:
1970:
1969:
1966:
1964:
1961:
1959:
1956:
1955:
1953:
1949:
1943:
1940:
1938:
1935:
1933:
1930:
1928:
1925:
1924:
1922:
1920:
1916:
1910:
1907:
1903:
1900:
1898:
1895:
1893:
1890:
1889:
1888:
1885:
1883:
1880:
1876:
1873:
1871:
1868:
1867:
1866:
1863:
1862:
1860:
1856:
1850:
1847:
1845:
1842:
1838:
1835:
1834:
1833:
1830:
1826:
1823:
1822:
1821:
1818:
1814:
1811:
1809:
1808:Long filename
1806:
1804:
1801:
1800:
1799:
1796:
1795:
1793:
1789:
1783:
1780:
1778:
1775:
1773:
1770:
1768:
1765:
1763:
1760:
1758:
1755:
1753:
1750:
1746:
1743:
1741:
1738:
1736:
1733:
1731:
1728:
1726:
1723:
1722:
1721:
1718:
1716:
1713:
1711:
1707:
1704:
1703:
1701:
1697:
1693:
1686:
1681:
1679:
1674:
1672:
1667:
1666:
1663:
1651:
1648:
1646:
1643:
1641:
1640:IBM System/38
1638:
1636:
1633:
1631:
1630:Cambridge CAP
1628:
1626:
1623:
1622:
1620:
1616:
1610:
1607:
1606:
1604:
1602:
1598:
1592:
1589:
1587:
1584:
1582:
1579:
1577:
1574:
1573:
1571:
1569:
1565:
1559:
1556:
1553:
1549:
1546:
1544:
1541:
1539:
1536:
1534:
1531:
1529:
1526:
1524:
1521:
1519:
1515:
1511:
1507:
1504:
1502:
1499:
1497:
1494:
1492:
1489:
1488:
1486:
1484:
1480:
1476:
1470:
1467:
1465:
1462:
1460:
1457:
1455:
1452:
1450:
1447:
1445:
1442:
1440:
1437:
1435:
1432:
1430:
1427:
1424:
1421:
1420:
1418:
1414:
1409:
1402:
1397:
1395:
1390:
1388:
1383:
1382:
1379:
1363:
1356:
1342:on 2012-07-30
1341:
1337:
1333:
1326:
1318:
1312:
1307:
1306:
1298:
1284:
1277:
1263:
1259:
1253:
1245:
1239:
1231:
1229:9780132017992
1225:
1221:
1217:
1216:Prentice-Hall
1212:
1211:
1202:
1200:
1184:
1177:
1163:
1159:
1153:
1149:
1139:
1136:
1134:
1131:
1129:
1126:
1125:
1119:
1117:
1112:
1107:
1102:
1098:
1083:
1078:
1073:
1068:
1063:
1058:
1053:
1048:
1043:
1038:
1033:
1028:
1023:
1018:
1013:
1012:
1011:
1009:
1005:
997:
989:
976:
971:
970:
967:Miscellaneous
958:
953:
948:
945:getpeername()
943:
940:getsockname()
938:
932:
927:
922:
917:
916:
914:
899:
890:
885:
884:
873:
869:
863:
862:
851:
847:
840:
836:
832:
828:
824:close_range()
822:
816:
813:
809:
808:
807:
780:
773:
768:
763:
760:
755:
752:
747:
739:epoll_pwait()
733:
727:
722:
716:
711:
710:
698:
692:
686:
680:
674:
668:
662:
656:
646:
636:
631:
626:
621:
616:
611:
606:
601:
598:
594:
585:
576:
566:
557:
548:
539:
530:
526:
522:
518:
517:
506:
501:
500:
488:
482:
476:
470:
464:
458:
452:
448:userfaultfd()
446:
440:
434:
428:
422:
416:
411:
406:
401:
396:
391:
387:
383:
382:
376:
366:
356:
355:
353:
347:
342:
340:
336:
332:
328:
324:
320:
316:
312:
308:
303:
296:/proc/self/fd
293:
265:
260:/proc/PID/fd/
257:
252:
250:
246:
242:
238:
230:
218:
213:
209:
204:
188:
185:STDERR_FILENO
183:
181:
178:
175:
174:
168:
165:STDOUT_FILENO
163:
161:
158:
155:
154:
148:
143:
141:
138:
135:
134:
128:
123:
118:
113:
110:
107:
106:
103:
101:
97:
93:
90:. Each Unix
89:
86:
81:
79:
74:
72:
68:
64:
61:
57:
53:
49:
45:
41:
37:
33:
19:
2048:File sharing
2021:File manager
2011:File copying
1957:
1858:Organisation
1803:8.3 filename
1757:Sidecar file
1735:Magic number
1601:File systems
1438:
1365:. Retrieved
1355:
1344:. Retrieved
1340:the original
1335:
1325:
1304:
1297:
1286:. Retrieved
1276:
1265:. Retrieved
1252:
1238:
1209:
1187:. Retrieved
1176:
1165:. Retrieved
1152:
1128:fuser (Unix)
1113:
1097:capabilities
1094:
1060:readlinkat()
985:
955:setsockopt()
950:getsockopt()
881:File locking
792:
735:epoll_wait()
648:flistxattr()
472:pidfd_open()
408:socketpair()
362:
349:
343:
304:
291:
253:
240:
232:
224:
222:
145:STDIN_FILENO
131:file stream
82:
75:
65:, such as a
60:input/output
47:
43:
39:
29:
1887:File system
1772:System file
1762:Sparse file
1720:File format
1706:Binary file
1218:. pp.
1085:fdopendir()
1070:symlinkat()
1040:futimesat()
1020:faccessat()
826:(for Linux)
818:closefrom()
784:(for Linux)
778:(for Linux)
753:(for Linux)
750:epoll_ctl()
642:fsetxattr()
638:fgetxattr()
633:fdopendir()
628:fdatasync()
618:ftruncate()
331:named pipes
315:directories
249:system call
245:inode table
2075:Categories
1994:Management
1919:Operations
1870:NTFS links
1791:Properties
1609:Tahoe-LAFS
1558:Phantom OS
1367:2017-09-21
1346:2017-09-21
1316:1931624674
1288:2021-03-22
1267:2019-04-11
1189:2017-09-21
1167:2017-09-21
1145:References
1103:using the
1080:mkfifoat()
1075:unlinkat()
1065:renameat()
1030:fchownat()
1025:fchmodat()
960:shutdown()
911:See also:
765:sendfile()
684:(kFreeBSD)
670:vmsplice()
603:fstatvfs()
582:sendmmsg()
578:recvmmsg()
559:recvfrom()
492:(kFreeBSD)
424:signalfd()
235:file table
1963:Hard link
1844:File size
1767:Swap file
1715:Data file
1710:text file
1548:HarmonyOS
1055:mknodat()
1050:mkdirat()
1035:fstatat()
1010:attacks.
919:connect()
896:F_SETLKW)
719:pselect()
700:dprintf()
572:sendmsg()
568:recvmsg()
430:eventfd()
365:Unix-like
307:Unix-like
58:or other
36:Unix-like
1968:Shortcut
1798:Filename
1752:Metafile
1528:iMAX 432
1491:Capsicum
1469:Petnames
1416:Concepts
1410:security
1336:cap-talk
1122:See also
1045:linkat()
1015:openat()
934:accept()
929:listen()
865:fchdir()
771:splice()
758:kqueue()
714:select()
694:fdopen()
688:waitid()
682:pdkill()
613:fchown()
608:fchmod()
591:llseek()
563:sendto()
545:pwrite()
536:writev()
508:fileno()
490:pdfork()
484:kqueue()
403:accept()
398:socket()
198:Overview
117:unistd.h
63:resource
54:) for a
1951:Linking
1496:Fuchsia
1483:kernels
1106:sendmsg
974:ioctl()
907:Sockets
901:lockf()
887:flock()
812:close()
804:F_SETFL
795:fcntl()
730:ppoll()
678:(Linux)
672:(Linux)
666:(Linux)
660:(Linux)
654:(Linux)
644:(Linux)
623:fsync()
597:fstat()
587:lseek()
541:pread()
532:readv()
503:dirfd()
480:(Linux)
474:(Linux)
466:clone()
462:(Linux)
456:(Linux)
450:(Linux)
444:(Linux)
438:(Linux)
432:(Linux)
426:(Linux)
420:(Linux)
393:creat()
300:/dev/fd
292:its own
127:stdio.h
96:daemons
92:process
78:integer
18:Fcntl.h
2001:Backup
1978:Shadow
1576:Cajita
1533:Midori
1518:CapROS
1510:KeyKOS
1506:GNOSIS
1501:Genode
1444:C-list
1425:(PoLP)
1313:
1226:
1116:C-list
1008:TOCTOU
990:. The
924:bind()
846:dup3()
725:poll()
554:send()
550:recv()
413:pipe()
352:handle
329:, and
288:stderr
282:, and
280:stdout
190:stderr
170:stdout
52:handle
48:fildes
2081:POSIX
1973:Alias
1942:Write
1932:Close
1699:Types
1591:Joule
1586:Joe-E
1538:NLTSS
1523:Hydra
1220:92–96
988:POSIX
831:dup()
776:tee()
664:setns
658:statx
525:write
486:(BSD)
350:file
319:block
272:stdin
256:Linux
208:inode
150:stdin
111:Name
85:POSIX
1937:Read
1927:Open
1909:Path
1635:Flex
1625:BiiN
1543:seL4
1514:EROS
1311:ISBN
1224:ISBN
1133:lsof
894:and
872:mmap
839:dup2
802:and
793:The
523:(),
521:read
386:open
337:and
321:and
298:and
241:mode
129:>
125:<
119:>
115:<
67:pipe
56:file
34:and
32:Unix
305:In
286:is
278:is
270:is
254:On
212:dup
88:API
73:.
69:or
30:In
2077::
1708:/
1516:→
1512:→
1508:→
1481:,
1334:.
1260:.
1222:.
1198:^
1160:.
1118:.
1108:()
1000:at
992:at
874:()
843:,
841:()
806:.
774:,
741:,
737:,
728:,
717:,
650:,
640:,
589:,
580:,
570:,
561:,
552:,
543:,
534:,
527:()
388:()
341:.
317:,
302:.
274:,
176:2
156:1
136:0
102::
44:FD
1684:e
1677:t
1670:v
1581:E
1554:)
1550:(
1400:e
1393:t
1386:v
1370:.
1349:.
1319:.
1291:.
1270:.
1246:.
1232:.
1192:.
1170:.
354:.
42:(
20:)
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.