Knowledge (XXG)

Standard streams

Source 📝

114: 157:, programs had to explicitly connect to the appropriate input and output devices. OS-specific intricacies caused this to be a tedious programming task. On many systems it was necessary to obtain control of environment settings, access a local file table, determine the intended data set, and handle hardware correctly in the case of a 132:
Streams may be used to chain applications, meaning that the output stream of one program can be redirected to be the input stream to another application. In many operating systems this is expressed by listing the application names, separated by the vertical bar character, for this reason often called
191:
Another Unix breakthrough was to automatically associate input and output to terminal keyboard and terminal display, respectively, by default — the program (and programmer) did absolutely nothing to establish input and output for a typical input-process-output program (unless it chose a different
433:
is involved. For example, in common situations the standard error stream is unbuffered but the standard output stream is line-buffered; in this case, text written to standard error later may appear on the terminal earlier, if the standard output stream buffer is not yet full.
2177:
Some GUI programs, primarily on Unix, still write debug information to standard error. Others (such as many Unix media players) may read files from standard input. Popular Windows programs that open a separate console window in addition to their GUI windows are the emulators
777:# ALGOL 68 example # main:( REAL number; getf(stand in,($ g$ ,number)); printf(($ "Number is: "g(6,4)"OR "$ ,number)); # OR # putf(stand out,($ " Number is: "g(6,4)"!"$ ,number)); newline(stand out) ) 121:
Users generally know standard streams as input and output channels that handle data coming from an input device, or that write data from the application. The data may be text with any encoding, or
180:, which removed the need for a program to know or care what kind of devices it was communicating with. Older operating systems forced upon the programmer a record structure and frequently 418:
is redirected to input of the next program or a text file, but errors from each program still go directly to the text terminal so they can be reviewed by the user in real time.
1193:(stdout, stderr) objects, which only allow access to the underlying standard streams on a text basis. Full binary access to the standard streams must be performed through the 2170:, is also analogous to standard streams. On these operating systems, graphical applications can provide functionality through a system-wide menu that operates on the current 502:
Standard error was added to Unix in the 1970s after several wasted phototypesetting runs ended with error messages being typeset instead of displayed on the user's terminal.
184:
data semantics and device control. Unix eliminated this complexity with the concept of a data stream: an ordered sequence of data bytes which can be read until the
2524: 2514: 2342:", edited by A. van Wijngaarden, B.J. Mailloux, J.E.L. Peck, C.H.A. Koster, M. Sintzoff, C.H. Lindsey, L.G.L.T. Meertens and R.G. Fisker, Section 10.3. 2139:(GUIs) do not always make use of the standard streams; they do when GUIs are wrappers of underlying scripts and/or console programs, for instance the 244:, standard input is inherited from the parent process. In the case of an interactive shell, that is usually associated with the input device of a 2437: 2147:
project make use of stdin, stdout, and stderr, and are based on simple scripts rather than a complete GUI programmed and compiled in C/C++ using
2318: 2538: 2143:
package manager GUI, which wraps apt commands in Debian and/or Ubuntu. GUIs created with scripting tools like Zenity and KDialog by
814:, the standard input, output, and error streams are attached to the existing Unix file descriptors 0, 1 and 2 respectively. In a 1159:(for stderr). Basic read and write capabilities for the stdin and stdout streams are also accessible directly through the class 1140: 868:
to accept "-" as representing standard input, which spread to other utilities and became a part of the operating system as a
81:(input via keyboard, output via monitor), but standard streams abstract this. When a command is executed via an interactive 2387: 2339: 1851: 429:
to the same destination, such as the text terminal. Messages appear in the same order as the program writes them, unless
910: 904: 898: 217:
Standard input is a stream from which a program reads its input data. The program requests data transfers by use of the
2257: 893: 310:
Standard output is a stream to which a program writes its output data. The program requests data transfer with the
839: 402:, allowing output and errors to be distinguished, and is analogous to a function returning a pair of values – see 345:, standard output is inherited from the parent process. In the case of an interactive shell, that is usually the 2360: 2136: 1824: 204: 200: 188:. A program may also write bytes as desired and need not, and cannot easily declare their count or grouping. 2511: 2208: 342: 241: 90: 2490: 2270: 1828: 811: 518:
has the equivalent of Unix file descriptors: By convention, many Fortran implementations use unit numbers
473:, the former being unbuffered and the latter using the same buffering mechanism as all other C++ streams. 234: 2292: 745: 403: 399: 46: 2429: 295: 203:
runtime environment was obliged to support it as well. As a result, most C runtime environments (and
299: 253: 193: 38: 2179: 2459: 2314: 2223: 2140: 162: 129:, its standard error stream is redirected into a log file, typically for error analysis purposes. 2404: 2310: 2213: 395:
or diagnostics. It is a stream independent of standard output and can be redirected separately.
316: 126: 2494: 2544: 2534: 881: 245: 158: 82: 1854:, shows how to redirect the standard input both to the standard output and to a text file. 2518: 438: 415: 353: 264: 196:
to establish connections, or the equivalent burden had to be orchestrated by the program.
134: 94: 2192:
can use stdin as a communication interface with an interpreted program to realize a GUI.
192:
paradigm). In contrast, previous operating systems usually required some—often complex—
2464: 1144: 877: 873: 865: 328: 249: 142: 102: 78: 2586: 2580: 2159: 2148: 407: 392: 346: 334: 223: 98: 86: 2374: 2218: 869: 857: 496:
to be redirected to the same destination that standard output is directed to using
483:
to be redirected to the same destination that standard output is directed to using
476: 170: 145:, providing the user control over the display of the output stream on the display. 117:
The standard streams for input, output, and error in a common default configuration
50: 49:
between a computer program and its environment when it begins execution. The three
2380:
A Research Unix reader: annotated excerpts from the Programmer's Manual, 1971–1986
113: 861: 430: 298:. Similar abstractions exist in the standard I/O libraries of practically every 185: 122: 2378: 414:
is redirected (so not readily observed). For example, output of a program in a
30:
This article is about standard I/O file descriptors. For System V streams, see
2297:
The Open Group Base Specifications Issue 6—IEEE Std 1003.1, 2004 Edition
2189: 2171: 744:'s input and output facilities were collectively referred to as the transput. 181: 166: 138: 391:
Standard error is another output stream typically used by programs to output
2564: 322: 2570: 2558: 410:
which started the program to provide the best chance of being seen even if
860:(designer and implementer of the original Unix operating system) modified 2237: 2167: 2163: 821: 741: 730: 207:), regardless of the operating system, provide equivalent functionality. 515: 489: 31: 233:
programs (which display file names contained in a directory) may take
17: 2232: 2183: 2260:, AT&T Bell Laboratories Technical Journal, 68(8), October 1984. 2199:
paradigm "presents" GUI elements sent to an extended output stream.
465:
standard header provides two variables associated with this stream:
2352: 221:
operation. Not all programs require stream input. For example, the
2228: 815: 442: 357: 268: 260: 112: 2460:"Adding graphic elements to your scripts with Zenity and KDialog" 2196: 314:
operation. Not all programs generate output. For example, the
154: 2152: 2144: 237:, but perform their operations without any stream data input. 1842:
of that class to access the standard streams of the process.
2271:"What are stdin, stdout and stderr in Linux? | CodePre.com" 229: 1868:# Save the current stdout so that we can revert sys.stdout 27:
Connected input and output streams for computer programs
752:
standard. The model included three standard channels:
534:
module was standardized to include the named constants
89:
on which the shell is running, but can be changed with
2508:, Control Data Corporation, Part Number 60436000, 1978 2502:, Control Data Corporation, Part Number 60407000, 1974 2315:"[TUHS] Graphic Systems C/A/T phototypesetter" 1746:"The specified value is not a valid number!" 1448:"The specified value is not a valid number!" 77:). Originally I/O happened via a physically connected 2155:, or other equivalent proprietary widget framework. 2340:
Revised Report on the Algorithmic Language Algol 68
1147:languages, the standard streams are referred to by 876:. Diagnostics were part of standard output through 733:was criticized for having no standard file access. 2111:# Restore sys.stdout to our old saved file handler 176:One of Unix's several groundbreaking advances was 2353:"Stdin(3): Standard I/O streams - Linux man page" 137:character. A well-known example is the use of a 2512:Level 68 Introduction to Programming on MULTICS 2506:NOS Version 1 Applications Programmer's Instant 2006:") this is to the redirected --->" 199:Since Unix provided standard streams, the Unix 85:, the streams are typically connected to the 8: 2430:".NET Framework 4.7.1, mscorlib, console.cs" 2238:Standard streams in the Files-11 file system 2051:") this is to the actual --->" 1791:"The specified number is too big!" 1496:"The specified number is too big!" 530:for stderr. In Fortran-2003, the intrinsic 286:global variable. Similarly, the global C++ 2545:Console Class, .NET Framework Class Library 2174:in the GUI, no matter in what application. 2030:# Prints to the actual saved stdout handler 404:Semi-predicate problem: Multi valued return 2386:(Technical report). CSTR. Bell Labs. 139. 896:, the standard streams are referred to by 252:) which is ultimately linked to a user's 2531:Lions' Commentary on UNIX Sixth Edition 2249: 884:created the concept of standard error. 798:Number is: +3.142 OR Number is: +3.142! 173:, card punch, or interactive terminal. 546:to portably specify the unit numbers. 421:It is acceptable and normal to direct 2525:Evolution of the MVS Operating System 101:inherits the standard streams of its 7: 1979:# Prints to the redirected stdout () 356:for standard output is 1 (one); the 267:for standard input is 0 (zero); the 153:In most operating systems predating 1871:# after we complete our redirection 1659:' If Parse() threw an exception 1203:System.Console.OpenStandardOutput() 838:should be used instead rather than 2573:- by The Linux Information Project 2567:- by The Linux Information Project 2561:- by The Linux Information Project 2393:from the original on Dec 15, 2023. 1850:The following example, written in 1701:"No number was entered!" 1400:"No number was entered!" 1207:System.Console.OpenStandardError() 1199:System.Console.OpenStandardInput() 748:coordinated the definition of the 45:are preconnected input and output 25: 2440:from the original on Dec 10, 2017 2363:from the original on Jun 8, 2023. 1904:# Redirect sys.stdout to the file 441:for standard error is defined by 1355:// If Parse() threw an exception 449:header file provides the symbol 282:abstraction is provided via the 2321:from the original on 2020-09-25 1524:' Visual Basic .NET example 406:. The usual destination is the 2258:"A Stream Input-Output System" 1169:System.Console.Out.WriteLine() 1: 2547:, Microsoft Corporation, 2008 2521:, Honeywell Corporation, 1981 2405:"System (Java Platform SE 7)" 2197:Common Lisp Interface Manager 1846:2000 - : Python (2 or 3) 1641:"Number is: {0:F3}" 1334:"Number is: {0:F3}" 349:which initiated the program. 125:. When a program is run as a 53:(I/O) connections are called 2434:Reference Source - Microsoft 294:provides an abstraction via 2500:KRONOS 2.1 Reference Manual 2603: 2565:Standard Output Definition 2458:Kißling, Kristian (2009). 1822:System.Diagnostics.Process 1165:System.Console.WriteLine() 786: 783: 320:command (variously called 29: 2571:Standard Error Definition 2559:Standard Input Definition 2137:Graphical user interfaces 1827:one can use the instance 774: 1856: 1521: 1211: 916: 775: 630: 548: 338:) is silent on success. 306:Standard output (stdout) 2527:, IBM Corporation, 1981 2299:. The Open Group. 2004. 2209:Redirection (computing) 1167:can be used instead of 387:Standard error (stderr) 1925:"myfile.txt" 1057:"Number is:" 812:C programming language 633:! Fortran 2003 example 617:' NUMBER IS: ' 453:; the corresponding C 400:semi-predicate problem 367:; the corresponding C 278:; the corresponding C 235:command-line arguments 213:Standard input (stdin) 118: 47:communication channels 1859:#!/usr/bin/env python 1677:ArgumentNullException 1367:ArgumentNullException 711:'Number is: ' 375:; similarly, the C++ 141:application, such as 116: 2162:, as implemented on 1197:objects returned by 1191:System.IO.TextWriter 1187:System.IO.TextReader 1183:System.Console.Error 1157:System.Console.Error 551:! FORTRAN 77 example 492:-style shells allow 479:-style shells allow 300:programming language 194:job control language 97:. More generally, a 39:computer programming 2224:C file input/output 908:(for stdout), and 854:are also provided. 771: 163:magnetic tape drive 2517:2021-02-25 at the 2409:Oracle Help Center 2293:"<unistd.h>" 2214:Stream (computing) 1820:When applying the 1179:System.Console.Out 1153:System.Console.Out 1108:"Error:" 842:. File pointers 767: 119: 2495:The GNU C Library 2273:. 2 December 2021 1767:OverflowException 1463:OverflowException 1175:System.Console.In 1155:(for stdout) and 1149:System.Console.In 973:InputStreamReader 882:Dennis M. Ritchie 806:1970s: C and Unix 803: 802: 290:variable of type 159:punch card reader 16:(Redirected from 2594: 2491:Standard Streams 2476: 2475: 2473: 2472: 2455: 2449: 2448: 2446: 2445: 2426: 2420: 2419: 2417: 2415: 2401: 2395: 2394: 2392: 2385: 2371: 2365: 2364: 2349: 2343: 2336: 2330: 2329: 2327: 2326: 2317:(Mailing list). 2307: 2301: 2300: 2289: 2283: 2282: 2280: 2278: 2267: 2261: 2254: 2127: 2124: 2121: 2118: 2115: 2112: 2109: 2106: 2103: 2100: 2097: 2094: 2091: 2090:# Close the file 2088: 2085: 2082: 2079: 2076: 2073: 2070: 2067: 2064: 2061: 2058: 2055: 2052: 2049: 2046: 2043: 2040: 2037: 2034: 2031: 2028: 2025: 2022: 2019: 2016: 2013: 2010: 2007: 2004: 2001: 1998: 1995: 1992: 1989: 1986: 1983: 1980: 1977: 1974: 1971: 1968: 1965: 1962: 1959: 1956: 1953: 1950: 1947: 1944: 1941: 1938: 1935: 1932: 1929: 1926: 1923: 1920: 1917: 1914: 1911: 1908: 1905: 1902: 1899: 1896: 1893: 1890: 1887: 1884: 1881: 1878: 1875: 1872: 1869: 1866: 1863: 1860: 1841: 1837: 1833: 1823: 1816: 1813: 1810: 1807: 1804: 1801: 1798: 1795: 1792: 1789: 1786: 1783: 1780: 1777: 1774: 1771: 1768: 1765: 1762: 1759: 1756: 1753: 1750: 1747: 1744: 1741: 1738: 1735: 1732: 1729: 1726: 1723: 1720: 1717: 1714: 1711: 1708: 1705: 1702: 1699: 1696: 1693: 1690: 1687: 1684: 1681: 1678: 1675: 1672: 1669: 1666: 1663: 1660: 1657: 1654: 1651: 1648: 1645: 1642: 1639: 1636: 1633: 1630: 1627: 1624: 1621: 1618: 1615: 1612: 1609: 1606: 1603: 1600: 1597: 1594: 1591: 1588: 1585: 1582: 1579: 1576: 1573: 1570: 1567: 1564: 1561: 1558: 1555: 1552: 1549: 1546: 1543: 1540: 1537: 1534: 1531: 1528: 1525: 1518: 1515: 1512: 1509: 1506: 1503: 1500: 1497: 1494: 1491: 1488: 1485: 1482: 1479: 1476: 1473: 1470: 1467: 1464: 1461: 1458: 1455: 1452: 1449: 1446: 1443: 1440: 1437: 1434: 1431: 1428: 1425: 1422: 1419: 1416: 1413: 1410: 1407: 1404: 1401: 1398: 1395: 1392: 1389: 1386: 1383: 1380: 1377: 1374: 1371: 1368: 1365: 1362: 1359: 1356: 1353: 1350: 1347: 1344: 1341: 1338: 1335: 1332: 1329: 1326: 1323: 1320: 1317: 1314: 1311: 1308: 1305: 1302: 1299: 1296: 1293: 1290: 1287: 1284: 1281: 1278: 1275: 1272: 1269: 1266: 1263: 1260: 1257: 1254: 1251: 1248: 1245: 1242: 1239: 1236: 1233: 1230: 1227: 1224: 1221: 1218: 1215: 1208: 1204: 1200: 1196: 1195:System.IO.Stream 1192: 1188: 1184: 1180: 1176: 1170: 1166: 1162: 1158: 1154: 1150: 1130: 1127: 1124: 1121: 1118: 1115: 1112: 1109: 1106: 1103: 1100: 1097: 1094: 1091: 1088: 1085: 1082: 1079: 1076: 1073: 1070: 1067: 1064: 1061: 1058: 1055: 1052: 1049: 1046: 1043: 1040: 1037: 1034: 1031: 1028: 1025: 1022: 1019: 1016: 1013: 1010: 1007: 1004: 1001: 998: 995: 992: 989: 986: 983: 980: 977: 974: 971: 968: 965: 962: 959: 956: 953: 950: 947: 944: 941: 938: 935: 932: 929: 926: 923: 920: 913: 907: 901: 818:environment the 772: 766: 763: 759: 755: 721: 718: 715: 712: 709: 706: 705:'(a,i3)' 703: 700: 697: 694: 691: 688: 685: 682: 679: 676: 673: 670: 667: 664: 661: 658: 655: 652: 649: 646: 643: 640: 637: 634: 627: 624: 621: 618: 615: 612: 611:'(A,I3)' 609: 606: 603: 600: 597: 594: 591: 588: 585: 582: 579: 576: 573: 570: 567: 564: 561: 558: 555: 552: 545: 541: 537: 533: 529: 525: 521: 472: 468: 464: 463:<iostream> 460: 456: 452: 447:<unistd.h> 445:as 2 (two); the 398:This solves the 382: 378: 377:<iostream> 374: 370: 366: 362: 361:<unistd.h> 293: 292:<iostream> 289: 285: 281: 277: 273: 272:<unistd.h> 178:abstract devices 43:standard streams 21: 2602: 2601: 2597: 2596: 2595: 2593: 2592: 2591: 2577: 2576: 2555: 2550: 2519:Wayback Machine 2485: 2480: 2479: 2470: 2468: 2457: 2456: 2452: 2443: 2441: 2428: 2427: 2423: 2413: 2411: 2403: 2402: 2398: 2390: 2383: 2373: 2372: 2368: 2351: 2350: 2346: 2337: 2333: 2324: 2322: 2309: 2308: 2304: 2291: 2290: 2286: 2276: 2274: 2269: 2268: 2264: 2256:D. M. Ritchie, 2255: 2251: 2246: 2205: 2134: 2129: 2128: 2125: 2122: 2119: 2116: 2113: 2110: 2107: 2104: 2101: 2098: 2095: 2092: 2089: 2086: 2083: 2080: 2077: 2074: 2071: 2068: 2065: 2062: 2059: 2056: 2053: 2050: 2047: 2044: 2041: 2038: 2035: 2032: 2029: 2026: 2023: 2020: 2017: 2014: 2011: 2008: 2005: 2002: 1999: 1996: 1993: 1990: 1987: 1984: 1981: 1978: 1975: 1972: 1969: 1966: 1963: 1960: 1957: 1954: 1951: 1948: 1945: 1942: 1939: 1936: 1933: 1930: 1927: 1924: 1921: 1918: 1915: 1912: 1909: 1906: 1903: 1900: 1897: 1894: 1891: 1888: 1885: 1882: 1879: 1876: 1873: 1870: 1867: 1864: 1861: 1858: 1848: 1839: 1835: 1831: 1821: 1818: 1817: 1814: 1811: 1808: 1805: 1802: 1799: 1796: 1793: 1790: 1787: 1784: 1781: 1778: 1775: 1772: 1769: 1766: 1763: 1760: 1757: 1754: 1751: 1748: 1745: 1742: 1739: 1736: 1733: 1730: 1727: 1724: 1722:FormatException 1721: 1718: 1715: 1712: 1709: 1706: 1703: 1700: 1697: 1694: 1691: 1688: 1685: 1682: 1679: 1676: 1673: 1670: 1667: 1664: 1661: 1658: 1655: 1652: 1649: 1646: 1643: 1640: 1637: 1634: 1631: 1628: 1625: 1622: 1619: 1616: 1613: 1610: 1607: 1604: 1601: 1598: 1595: 1592: 1589: 1586: 1583: 1580: 1577: 1574: 1571: 1568: 1565: 1562: 1559: 1556: 1553: 1550: 1547: 1544: 1541: 1538: 1535: 1532: 1529: 1526: 1523: 1520: 1519: 1516: 1513: 1510: 1507: 1504: 1501: 1498: 1495: 1492: 1489: 1486: 1483: 1480: 1477: 1474: 1471: 1468: 1465: 1462: 1459: 1456: 1453: 1450: 1447: 1444: 1441: 1438: 1435: 1432: 1429: 1426: 1423: 1420: 1417: 1415:FormatException 1414: 1411: 1408: 1405: 1402: 1399: 1396: 1393: 1390: 1387: 1384: 1381: 1378: 1375: 1372: 1369: 1366: 1363: 1360: 1357: 1354: 1351: 1348: 1345: 1342: 1339: 1336: 1333: 1330: 1327: 1324: 1321: 1318: 1315: 1312: 1309: 1306: 1303: 1300: 1297: 1294: 1291: 1288: 1285: 1282: 1279: 1276: 1273: 1270: 1267: 1264: 1261: 1258: 1255: 1252: 1249: 1246: 1243: 1240: 1237: 1234: 1231: 1228: 1225: 1222: 1219: 1216: 1213: 1206: 1202: 1198: 1194: 1190: 1186: 1182: 1178: 1174: 1168: 1164: 1160: 1156: 1152: 1148: 1137: 1132: 1131: 1128: 1125: 1122: 1119: 1116: 1113: 1110: 1107: 1104: 1101: 1098: 1095: 1092: 1089: 1086: 1083: 1080: 1077: 1074: 1071: 1068: 1065: 1062: 1059: 1056: 1053: 1050: 1047: 1044: 1041: 1038: 1035: 1032: 1029: 1026: 1023: 1020: 1017: 1014: 1011: 1008: 1005: 1002: 999: 996: 993: 990: 987: 984: 981: 978: 975: 972: 969: 966: 963: 960: 957: 954: 951: 948: 945: 942: 939: 936: 933: 930: 927: 924: 921: 918: 914:(for stderr). 909: 903: 897: 890: 808: 799: 794: 779: 778: 761: 757: 753: 739: 728: 723: 722: 719: 716: 713: 710: 707: 704: 701: 698: 695: 692: 689: 686: 683: 680: 677: 674: 671: 668: 665: 662: 659: 656: 653: 650: 647: 645:iso_fortran_env 644: 641: 638: 635: 632: 629: 628: 625: 622: 619: 616: 613: 610: 607: 604: 601: 598: 595: 592: 589: 586: 583: 580: 577: 574: 571: 568: 565: 562: 559: 556: 553: 550: 543: 539: 535: 532:ISO_FORTRAN_ENV 531: 527: 526:for stdout and 523: 519: 513: 508: 500: 487: 470: 466: 462: 458: 455:<stdio.h> 454: 450: 439:file descriptor 423:standard output 412:standard output 389: 380: 376: 372: 369:<stdio.h> 368: 364: 360: 354:file descriptor 308: 291: 287: 283: 280:<stdio.h> 279: 275: 271: 265:file descriptor 250:pseudo terminal 215: 205:C's descendants 151: 111: 63:standard output 35: 28: 23: 22: 15: 12: 11: 5: 2600: 2598: 2590: 2589: 2579: 2578: 2575: 2574: 2568: 2562: 2554: 2553:External links 2551: 2549: 2548: 2542: 2533:, John Lions, 2528: 2522: 2509: 2503: 2497: 2486: 2484: 2481: 2478: 2477: 2465:Linux Magazine 2450: 2421: 2396: 2375:McIlroy, M. D. 2366: 2344: 2331: 2313:(2013-12-11). 2311:Johnson, Steve 2302: 2284: 2262: 2248: 2247: 2245: 2242: 2241: 2240: 2235: 2226: 2221: 2216: 2211: 2204: 2201: 2133: 2130: 1857: 1847: 1844: 1836:StandardOutput 1522: 1212: 1209:respectively. 1161:System.Console 1136: 1133: 964:BufferedReader 952:BufferedReader 917: 889: 886: 880:, after which 866:Version 5 Unix 807: 804: 801: 800: 797: 795: 792: 789: 788: 785: 781: 780: 776: 738: 737:1968: ALGOL 68 735: 727: 726:1960: ALGOL 60 724: 631: 549: 512: 511:1950s: Fortran 509: 507: 504: 498: 494:standard error 485: 481:standard error 427:standard error 393:error messages 388: 385: 363:definition is 307: 304: 274:definition is 214: 211: 182:non-orthogonal 150: 147: 110: 107: 103:parent process 79:system console 71:standard error 55:standard input 26: 24: 14: 13: 10: 9: 6: 4: 3: 2: 2599: 2588: 2585: 2584: 2582: 2572: 2569: 2566: 2563: 2560: 2557: 2556: 2552: 2546: 2543: 2540: 2539:1-57398-013-7 2536: 2532: 2529: 2526: 2523: 2520: 2516: 2513: 2510: 2507: 2504: 2501: 2498: 2496: 2492: 2488: 2487: 2482: 2467: 2466: 2461: 2454: 2451: 2439: 2435: 2431: 2425: 2422: 2410: 2406: 2400: 2397: 2389: 2382: 2381: 2376: 2370: 2367: 2362: 2358: 2354: 2348: 2345: 2341: 2335: 2332: 2320: 2316: 2312: 2306: 2303: 2298: 2294: 2288: 2285: 2272: 2266: 2263: 2259: 2253: 2250: 2243: 2239: 2236: 2234: 2230: 2227: 2225: 2222: 2220: 2217: 2215: 2212: 2210: 2207: 2206: 2202: 2200: 2198: 2193: 2191: 2187: 2185: 2181: 2175: 2173: 2169: 2165: 2161: 2160:Services menu 2156: 2154: 2150: 2146: 2142: 2138: 2131: 2126:stdout_fileno 2033:stdout_fileno 1931:"w" 1889:stdout_fileno 1855: 1853: 1845: 1843: 1840:StandardError 1832:StandardInput 1830: 1826: 1214:// C# example 1210: 1172: 1151:(for stdin), 1146: 1142: 1134: 915: 912: 906: 902:(for stdin), 900: 895: 887: 885: 883: 879: 875: 871: 867: 863: 859: 855: 853: 849: 845: 841: 840:magic numbers 837: 836:STDERR_FILENO 833: 832:STDOUT_FILENO 829: 825: 823: 817: 813: 805: 796: 791: 790: 782: 773: 770: 765: 751: 747: 743: 736: 734: 732: 725: 648:implicit none 547: 517: 510: 505: 503: 497: 495: 491: 484: 482: 478: 474: 451:STDERR_FILENO 448: 444: 440: 435: 432: 428: 424: 419: 417: 413: 409: 408:text terminal 405: 401: 396: 394: 386: 384: 365:STDOUT_FILENO 359: 355: 350: 348: 347:text terminal 344: 339: 337: 336: 331: 330: 325: 324: 319: 318: 313: 305: 303: 301: 297: 270: 266: 263:systems, the 262: 257: 255: 251: 247: 243: 238: 236: 232: 231: 226: 225: 220: 212: 210: 208: 206: 202: 197: 195: 189: 187: 183: 179: 174: 172: 168: 164: 160: 156: 148: 146: 144: 140: 136: 130: 128: 124: 115: 108: 106: 104: 100: 99:child process 96: 92: 88: 87:text terminal 84: 80: 76: 72: 68: 64: 60: 56: 52: 48: 44: 40: 33: 19: 2530: 2505: 2499: 2469:. Retrieved 2463: 2453: 2442:. Retrieved 2433: 2424: 2412:. Retrieved 2408: 2399: 2379: 2369: 2356: 2347: 2334: 2323:. Retrieved 2305: 2296: 2287: 2275:. Retrieved 2265: 2252: 2219:Input/output 2194: 2188: 2176: 2157: 2135: 1955:stdin_fileno 1874:stdin_fileno 1849: 1819: 1189:(stdin) and 1173: 1138: 891: 870:special file 858:Ken Thompson 856: 851: 847: 843: 835: 831: 828:STDIN_FILENO 827: 826:definitions 819: 809: 768: 749: 740: 729: 514: 501: 493: 488: 486:2>&1 480: 475: 459:FILE* stderr 457:variable is 446: 436: 426: 422: 420: 411: 397: 390: 379:variable is 373:FILE* stdout 371:variable is 351: 340: 333: 327: 321: 315: 311: 309: 276:STDIN_FILENO 258: 239: 228: 222: 218: 216: 209: 198: 190: 177: 175: 171:line printer 152: 131: 120: 74: 70: 66: 62: 58: 54: 51:input/output 42: 36: 1135:2000s: .NET 1027:parseDouble 720:end program 699:OUTPUT_UNIT 540:OUTPUT_UNIT 522:for stdin, 317:file rename 296:C++ streams 284:FILE* stdin 186:end of file 123:binary data 109:Application 91:redirection 2471:2021-04-11 2444:2017-12-10 2325:2020-11-07 2244:References 2190:GTK-server 1829:properties 1143:and other 1120:getMessage 911:System.err 905:System.out 888:1995: Java 762:stand back 672:INPUT_UNIT 544:ERROR_UNIT 536:INPUT_UNIT 499:>& 461:. The C++ 343:redirected 242:redirected 167:disk drive 149:Background 139:pagination 2172:selection 1785:WriteLine 1740:WriteLine 1695:WriteLine 1635:WriteLine 1490:WriteLine 1442:WriteLine 1394:WriteLine 1328:WriteLine 1078:Exception 899:System.in 878:Version 6 874:Version 8 758:stand out 471:std::clog 467:std::cerr 431:buffering 381:std::cout 2581:Category 2515:Archived 2438:Archived 2388:Archived 2377:(1987). 2361:Archived 2319:Archived 2203:See also 2168:Mac OS X 2164:NeXTSTEP 2141:Synaptic 1815:Function 1578:ReadLine 1530:Function 1277:ReadLine 1006:readLine 822:unistd.h 787:Output: 754:stand in 750:transput 742:ALGOL 68 731:ALGOL 60 636:program 560:INTEGER 554:PROGRAM 506:Timeline 416:pipeline 288:std::cin 254:keyboard 246:terminal 135:pipeline 95:pipeline 2483:Sources 2414:20 July 2357:die.net 2277:8 April 1776:Console 1731:Console 1686:Console 1623:Console 1569:Console 1542:Integer 1478:Console 1430:Console 1382:Console 1316:Console 1265:Console 1102:println 1051:println 810:In the 793:3.14159 784:Input: 769:Example 651:integer 516:Fortran 341:Unless 240:Unless 32:STREAMS 2541:, 1977 2537:  2233:SYSOUT 2184:DOSBox 2120:stdout 2099:stdout 2069:" 2063:" 2024:" 2018:" 1988:stdout 1913:stdout 1901:stdout 1862:import 1852:Python 1838:, and 1803:Return 1770:System 1761:System 1725:System 1716:System 1680:System 1671:System 1653:Return 1647:number 1617:System 1599:Double 1593:Double 1587:number 1563:System 1557:String 1527:Public 1505:return 1472:System 1424:System 1376:System 1346:return 1340:number 1310:System 1292:double 1286:number 1283:double 1259:System 1250:string 1232:string 1220:static 1217:public 1163:(e.g. 1090:System 1063:number 1039:System 1021:Double 1015:number 1012:double 991:String 979:System 934:String 922:static 919:public 852:stderr 850:, and 848:stdout 760:, and 746:Koster 717:number 684:number 657:number 623:NUMBER 590:NUMBER 563:NUMBER 542:, and 528:UNIT=0 524:UNIT=6 520:UNIT=5 477:Bourne 127:daemon 75:stderr 69:) and 67:stdout 18:Stdout 2391:(PDF) 2384:(PDF) 2229:SYSIN 2105:close 2039:write 1994:write 1886:stdin 1825:class 1752:Catch 1707:Catch 1662:Catch 1605:Parse 1484:Error 1457:catch 1436:Error 1409:catch 1388:Error 1361:catch 1298:Parse 1072:catch 844:stdin 816:POSIX 687:write 593:WRITE 443:POSIX 358:POSIX 332:, or 312:write 269:POSIX 261:POSIX 93:or a 83:shell 59:stdin 2587:Unix 2535:ISBN 2416:2012 2279:2022 2231:and 2195:The 2182:and 2166:and 2158:The 2132:GUIs 2057:inps 2045:ctrs 2012:inps 2000:ctrs 1961:ctrs 1949:inps 1919:open 1533:Main 1235:args 1226:Main 1205:and 1185:are 1181:and 1145:.NET 1123:()); 937:args 928:main 925:void 894:Java 862:sort 824:> 820:< 693:unit 666:unit 660:read 642:use 639:main 599:UNIT 572:UNIT 566:READ 557:MAIN 469:and 437:The 425:and 352:The 329:move 248:(or 227:and 219:read 155:Unix 143:more 133:the 2493:", 2180:pSX 2153:GTK 2145:KDE 2114:sys 2093:sys 2081:ctr 2075:ctr 1982:sys 1973:ctr 1967:str 1946:for 1937:ctr 1907:sys 1895:sys 1880:sys 1865:sys 1812:End 1800:Try 1797:End 1755:ex3 1710:ex2 1629:Out 1584:Dim 1548:Dim 1545:Try 1322:Out 1280:(); 1244:try 1223:int 1171:). 1139:In 1096:err 1045:out 1009:(); 988:)); 970:new 961:new 946:try 892:In 872:in 864:in 834:or 626:END 490:csh 335:ren 259:On 224:dir 61:), 37:In 2583:: 2462:. 2436:. 2432:. 2407:. 2359:. 2355:. 2295:. 2186:. 2151:, 2149:Qt 2108:() 2066:\n 2021:\n 1952:in 1834:, 1758:As 1713:As 1668:As 1665:ex 1590:As 1581:() 1554:As 1539:As 1536:() 1499:); 1451:); 1403:); 1343:); 1307:); 1271:In 1201:, 1177:, 1141:C# 1066:); 1036:); 1000:br 985:in 955:br 846:, 830:, 764:. 756:, 654::: 538:, 383:. 326:, 323:mv 302:. 256:. 230:ls 169:, 165:, 161:, 105:. 41:, 2489:" 2474:. 2447:. 2418:. 2338:" 2328:. 2281:. 2123:= 2117:. 2102:. 2096:. 2087:1 2084:+ 2078:= 2072:) 2060:+ 2054:+ 2048:+ 2042:( 2036:. 2027:) 2015:+ 2009:+ 2003:+ 1997:( 1991:. 1985:. 1976:) 1970:( 1964:= 1958:: 1943:0 1940:= 1934:) 1928:, 1922:( 1916:= 1910:. 1898:. 1892:= 1883:. 1877:= 1809:1 1806:- 1794:) 1788:( 1782:. 1779:. 1773:. 1764:. 1749:) 1743:( 1737:. 1734:. 1728:. 1719:. 1704:) 1698:( 1692:. 1689:. 1683:. 1674:. 1656:0 1650:) 1644:, 1638:( 1632:. 1626:. 1620:. 1614:) 1611:s 1608:( 1602:. 1596:= 1575:. 1572:. 1566:. 1560:= 1551:s 1517:} 1514:; 1511:1 1508:- 1502:} 1493:( 1487:. 1481:. 1475:. 1469:{ 1466:) 1460:( 1454:} 1445:( 1439:. 1433:. 1427:. 1421:{ 1418:) 1412:( 1406:} 1397:( 1391:. 1385:. 1379:. 1373:{ 1370:) 1364:( 1358:} 1352:; 1349:0 1337:, 1331:( 1325:. 1319:. 1313:. 1304:s 1301:( 1295:. 1289:= 1274:. 1268:. 1262:. 1256:= 1253:s 1247:{ 1241:{ 1238:) 1229:( 1129:} 1126:} 1117:. 1114:e 1111:+ 1105:( 1099:. 1093:. 1087:{ 1084:) 1081:e 1075:( 1069:} 1060:+ 1054:( 1048:. 1042:. 1033:s 1030:( 1024:. 1018:= 1003:. 997:= 994:s 982:. 976:( 967:( 958:= 949:{ 943:{ 940:) 931:( 714:, 708:) 702:, 696:= 690:( 681:) 678:* 675:, 669:= 663:( 620:, 614:) 608:, 605:6 602:= 596:( 587:) 584:* 581:, 578:5 575:= 569:( 201:C 73:( 65:( 57:( 34:. 20:)

Index

Stdout
STREAMS
computer programming
communication channels
input/output
system console
shell
text terminal
redirection
pipeline
child process
parent process

binary data
daemon
pipeline
pagination
more
Unix
punch card reader
magnetic tape drive
disk drive
line printer
non-orthogonal
end of file
job control language
C
C's descendants
dir
ls

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.