Knowledge (XXG)

Daemon (computing)

Source 📝

104: 47: 359:
describes his own personal daemon to be something like the modern concept of a moral conscience: "The favour of the gods has given me a marvelous gift, which has never left me since my childhood. It is a voice that, when it makes itself heard, deters me from what I am about to do and never urges me
251:
a child process and then immediately exiting, thus causing init to adopt the child process, or by the init process directly launching the daemon. In addition, a daemon launched by forking and exiting typically must perform other operations, such as dissociating the process from any controlling
570:
If the daemon wants to ensure that it will not acquire a new controlling tty even by accident (which happens when a session leader without a controlling tty opens a free tty), it may fork and exit again. This means that it is no longer a session leader in the new session, and cannot acquire a
333:. This is an egregious misunderstanding. "Daemon" is actually a much older form of "demon"; daemons have no particular bias towards good or evil, but rather serve to help define a person's character or personality. The 288: 507:
process (process number 1) as its parent process and has no controlling terminal. However, more generally, a daemon may be any background process, whether a child of the init process or not.
706:
perform the functions of daemons. They run as processes, usually do not interact with the monitor, keyboard, and mouse, and may be launched by the operating system at boot time. In
299:
that helped to sort molecules, stating, "We fancifully began to use the word daemon to describe background processes that worked tirelessly to perform system chores".
737:
However, any Windows application can perform the role of a daemon, not just a service, and some Windows daemons have the option of running as a normal process.
345:
A further characterization of the mythological symbolism is that a daemon is something that is not visible yet is always present and working its will. In the
541:(in the parent "half" of the fork). This allows daemon's parent (shell or startup process) to receive exit notification and continue its normal execution. 218:, for clarification that the process is in fact a daemon, and for differentiation between a daemon and a normal computer program. For example, 103: 68: 687: 503:
In a strictly technical sense, a Unix-like system process is a daemon when its parent process terminates and the daemon is assigned the
341:
is the state of being helped or protected by a kindly spirit. As a rule, UNIX systems seem to be infested with both daemons and demons.
749:, optional features and services were provided by files loaded at startup time that patched the operating system; these were known as 214:, rather than being under the direct control of an interactive user. Traditionally, the process names of a daemon end with the letter 785: 427: 393: 90: 662:, the super-server daemon will perform those functions for the process, except for old-style daemons not converted to run under 530: 1051: 461: 267:
time that will respond to network requests, hardware activity, or other programs by performing some task. Daemons such as
761:: regular applications that ran in the background. To the user, these were still described as regular system extensions. 1076: 1071: 906: 605:, and other operating system calls to provide their own permission masks and not to depend on the umask of the caller. 61: 55: 771:
system, uses daemons but uses the term "services" to designate software that performs functions selected from the
1003: 510:
On a Unix-like system, the common method for a process to become a daemon, when the process is started from the
72: 473: 303:
systems inherited this terminology. Maxwell's demon is consistent with Greek mythology's interpretation of a
715: 711: 248: 754: 284: 633: 143: 1026: 790: 699: 111: 17: 758: 750: 538: 534: 304: 211: 35: 974: 292: 997: 710:
and later versions, Windows services are configured and manually started and stopped using the
587: 583: 613: 404: 370: 207: 183: 157: 147: 135: 1055: 841: 815: 795: 703: 609: 487: 444: 337:' concept of a "personal daemon" was similar to the modern concept of a "guardian angel"— 746: 575: 334: 311: 296: 240: 119: 1065: 772: 714:, a dedicated control/configuration program, the Service Controller component of the 562: 519: 256:(tty). Such procedures are often implemented in various convenience routines such as 800: 707: 641: 511: 229: 325:
Many people equate the word "daemon" with the word "demon", implying some kind of
845: 544:
Detaching from the invoking session, usually accomplished by a single operation,
850: 810: 280: 885: 636:, and closing all the other file descriptors inherited from the parent process. 805: 731: 552: 330: 318: 253: 127: 480: 310:
In the general sense, daemon is an older form of the word "demon", from the
871: 1011: 984: 356: 326: 586:
so that the process does not keep any directory in use that may be on a
980: 928: 658: 652: 558:
Creating a new session and becoming the session leader of that session.
347: 264: 220: 757:. Later versions of classic Mac OS augmented these with fully fledged 479:
After the term was adopted for computer use, it was rationalized as a
625: 621: 448:(used in Windows, from Windows NT onwards, and later also in Linux), 31: 291:
in 1963, his team was the first to use the term daemon, inspired by
952: 1007: 764: 646: 617: 594: 352: 115: 108: 102: 768: 515: 504: 453: 300: 268: 244: 236: 914: 683: 419: 385: 379: 363:
In modern usage in the context of computer software, the word
198: 172: 166: 40: 775:, rather than using that term for daemons, as Windows does. 526:
Optionally removing unnecessary variables from environment.
486:
Daemons that connect to a computer network are examples of
413: 192: 472:
is used, particularly for daemons that operate as part of
247:
process. A daemon is usually created either by a process
224:
is a daemon that implements system logging facility, and
686:
environment, daemon-like programs were implemented as
428: 394: 410: 376: 189: 163: 416: 407: 382: 373: 307:as a supernatural being working in the background. 271:may also perform defined tasks at scheduled times. 195: 186: 169: 160: 27:Computer program that runs as a background process 1021: 1019: 323: 30:For spirit in Classical Greek mythology, see 8: 929:"sshd: OpenSSH server process | SSH Academy" 670:and "multi-threaded" datagram servers under 907:"Glossary of z/OS terms and abbreviations" 590:file system (allowing it to be unmounted). 279:The term was coined by the programmers at 243:of a daemon is often, but not always, the 91:Learn how and when to remove this message 34:. For broader coverage of the topic, see 836: 834: 832: 54:This article includes a list of general 968: 966: 828: 7: 688:terminate-and-stay-resident programs 514:or from a startup script such as an 321:states the following about daemons: 295:, an imaginary agent in physics and 464:). Sometimes the more general term 316:Unix System Administration Handbook 18:Operating system service management 551:Dissociating from the controlling 60:it lacks sufficient corresponding 25: 786:List of computer term etymologies 228:is a daemon that serves incoming 759:faceless background applications 483:for Disk And Execution MONitor. 403: 369: 329:connection between UNIX and the 182: 156: 45: 872:"The Origin of the word Daemon" 640:If the process is started by a 263:Systems often start daemons at 1052:Unix Daemon Server Programming 1: 1093: 1058: (archived 2019-10-30) 29: 702:systems, programs called 114:that are daemons include 741:Classic Mac OS and macOS 716:Service Control Manager 75:more precise citations. 438:Alternative terms for 343: 139: 474:client-server systems 106: 791:List of Unix daemons 700:Microsoft Windows NT 112:desktop environments 1077:Servers (computing) 1072:Process (computing) 953:"Daemon Definition" 612:0, 1 and 2 for the 285:Fernando J. Corbató 107:Components of some 917:. 31 January 2006. 734:scripting system. 522:script, involves: 212:background process 140: 36:Server (computing) 1029:. freedesktop.org 1027:"systemd.service" 983:System Manager's 911:IBM Documentation 751:system extensions 666:and specified as 584:working directory 582:) as the current 499:Unix-like systems 281:MIT's Project MAC 239:environment, the 148:operating systems 101: 100: 93: 16:(Redirected from 1084: 1039: 1038: 1036: 1034: 1023: 1014: 1001: 1000: 998:launchd.plist(5) 993: 987: 978: 977: 970: 961: 960: 949: 943: 942: 940: 939: 925: 919: 918: 903: 897: 896: 894: 893: 886:"The BSD Daemon" 882: 876: 875: 868: 862: 861: 859: 858: 838: 730:commands or the 729: 725: 721: 704:Windows services 673: 669: 665: 661: 655: 649: 644:daemon, such as 631: 614:standard streams 610:file descriptors 604: 600: 581: 571:controlling tty. 547: 488:network services 431: 426: 425: 422: 421: 418: 415: 412: 409: 397: 392: 391: 388: 387: 384: 381: 378: 375: 351:, attributed to 287:, who worked on 227: 223: 208:computer program 205: 204: 201: 200: 197: 194: 191: 188: 179: 178: 175: 174: 171: 168: 165: 162: 96: 89: 85: 82: 76: 71:this article by 62:inline citations 49: 48: 41: 21: 1092: 1091: 1087: 1086: 1085: 1083: 1082: 1081: 1062: 1061: 1056:Wayback Machine 1048: 1043: 1042: 1032: 1030: 1025: 1024: 1017: 996: 995: 994: 990: 973: 972: 971: 964: 951: 950: 946: 937: 935: 927: 926: 922: 905: 904: 900: 891: 889: 884: 883: 879: 870: 869: 865: 856: 854: 851:The Jargon File 842:Eric S. Raymond 840: 839: 830: 825: 820: 816:Windows service 796:Service wrapper 781: 743: 727: 723: 719: 696: 680: 671: 667: 663: 657: 651: 645: 629: 602: 598: 579: 545: 531:background task 529:Executing as a 501: 496: 494:Implementations 429: 406: 402: 395: 372: 368: 314:δαίμων. In the 293:Maxwell's demon 283:. According to 277: 225: 219: 210:that runs as a 185: 181: 159: 155: 97: 86: 80: 77: 67:Please help to 66: 50: 46: 39: 28: 23: 22: 15: 12: 11: 5: 1090: 1088: 1080: 1079: 1074: 1064: 1063: 1060: 1059: 1047: 1046:External links 1044: 1041: 1040: 1015: 988: 962: 944: 920: 898: 877: 863: 827: 826: 824: 821: 819: 818: 813: 808: 803: 798: 793: 788: 782: 780: 777: 755:control panels 747:classic Mac OS 742: 739: 722:command), the 695: 692: 679: 676: 638: 637: 606: 597:to 0 to allow 591: 576:root directory 572: 568: 567: 566: 559: 556: 542: 527: 500: 497: 495: 492: 470:server process 367:is pronounced 335:ancient Greeks 297:thermodynamics 276: 273: 241:parent process 120:NetworkManager 99: 98: 53: 51: 44: 26: 24: 14: 13: 10: 9: 6: 4: 3: 2: 1089: 1078: 1075: 1073: 1070: 1069: 1067: 1057: 1053: 1050: 1049: 1045: 1028: 1022: 1020: 1016: 1013: 1010:File Formats 1009: 1005: 1002: –  999: 992: 989: 986: 982: 979: –  976: 969: 967: 963: 958: 957:www.linfo.org 954: 948: 945: 934: 930: 924: 921: 916: 912: 908: 902: 899: 888:. Freebsd.org 887: 881: 878: 873: 867: 864: 853: 852: 847: 843: 837: 835: 833: 829: 822: 817: 814: 812: 809: 807: 804: 802: 799: 797: 794: 792: 789: 787: 784: 783: 778: 776: 774: 773:Services menu 770: 767:, which is a 766: 762: 760: 756: 752: 748: 740: 738: 735: 733: 717: 713: 712:Control Panel 709: 705: 701: 693: 691: 689: 685: 684:Microsoft DOS 677: 675: 660: 654: 648: 643: 635: 627: 623: 619: 615: 611: 607: 596: 593:Changing the 592: 589: 585: 577: 573: 569: 564: 563:process group 560: 557: 554: 550: 549: 543: 540: 536: 532: 528: 525: 524: 523: 521: 520:SystemStarter 517: 513: 508: 506: 498: 493: 491: 489: 484: 482: 477: 475: 471: 467: 463: 459: 455: 451: 447: 446: 441: 436: 434: 433: 424: 400: 399: 390: 366: 361: 358: 354: 350: 349: 342: 340: 336: 332: 328: 322: 320: 317: 313: 308: 306: 302: 298: 294: 290: 286: 282: 274: 272: 270: 266: 261: 259: 255: 250: 246: 242: 238: 233: 232:connections. 231: 222: 217: 213: 209: 203: 177: 153: 149: 145: 137: 133: 129: 125: 122:(here called 121: 117: 113: 110: 105: 95: 92: 84: 74: 70: 64: 63: 57: 52: 43: 42: 37: 33: 19: 1031:. Retrieved 991: 956: 947: 936:. Retrieved 932: 923: 910: 901: 890:. Retrieved 880: 866: 855:. Retrieved 849: 801:Software bot 763: 744: 736: 708:Windows 2000 697: 681: 668:Type=forking 642:super-server 639: 608:Redirecting 574:Setting the 518:script or a 512:command line 509: 502: 485: 478: 469: 465: 457: 450:started task 449: 443: 439: 437: 364: 362: 346: 344: 338: 324: 315: 309: 278: 262: 257: 234: 215: 151: 144:multitasking 141: 131: 123: 87: 78: 59: 933:www.ssh.com 811:Web service 561:Becoming a 289:Project MAC 275:Terminology 73:introducing 1066:Categories 1033:August 25, 938:2023-12-04 892:2008-11-15 857:2008-10-22 823:References 806:User space 732:PowerShell 694:Windows NT 339:eudaemonia 331:underworld 319:Evi Nemeth 128:PulseAudio 56:references 724:net start 630:/dev/null 481:backronym 458:ghost job 260:in Unix. 258:daemon(3) 146:computer 81:June 2018 975:inetd(8) 846:"daemon" 779:See also 728:net stop 546:setsid() 357:Socrates 254:terminal 124:unetwork 1054:at the 981:FreeBSD 745:On the 690:(TSR). 682:In the 664:systemd 659:systemd 653:launchd 634:logfile 603:creat() 588:mounted 565:leader. 539:exiting 535:forking 456:), and 445:service 348:Theages 327:satanic 249:forking 221:syslogd 206:) is a 134:), and 69:improve 1012:Manual 1004:Darwin 985:Manual 678:MS-DOS 626:stderr 622:stdout 599:open() 466:server 440:daemon 365:daemon 305:daemon 152:daemon 132:usound 58:, but 32:Daimon 1008:macOS 765:macOS 672:inetd 656:, or 647:inetd 632:or a 628:) to 618:stdin 595:umask 460:(XDS 452:(IBM 360:on". 353:Plato 312:Greek 235:In a 136:Avahi 116:D-Bus 109:Linux 1035:2012 1006:and 769:Unix 753:and 726:and 624:and 537:and 516:init 505:init 454:z/OS 442:are 432:-mən 398:-mən 301:Unix 269:cron 265:boot 245:init 237:Unix 226:sshd 150:, a 915:IBM 698:On 553:tty 533:by 468:or 462:UTS 430:DAY 401:or 396:DEE 230:SSH 180:or 142:In 126:), 1068:: 1018:^ 965:^ 955:. 931:. 913:. 909:. 848:. 844:. 831:^ 720:sc 674:. 650:, 620:, 601:, 548:: 490:. 476:. 435:. 420:ən 414:eɪ 386:ən 380:iː 355:, 199:ən 193:eɪ 173:ən 167:iː 118:, 1037:. 959:. 941:. 895:. 874:. 860:. 718:( 616:( 580:/ 578:( 555:. 423:/ 417:m 411:d 408:ˈ 405:/ 389:/ 383:m 377:d 374:ˈ 371:/ 216:d 202:/ 196:m 190:d 187:ˈ 184:/ 176:/ 170:m 164:d 161:ˈ 158:/ 154:( 138:. 130:( 94:) 88:( 83:) 79:( 65:. 38:. 20:)

Index

Operating system service management
Daimon
Server (computing)
references
inline citations
improve
introducing
Learn how and when to remove this message

Linux
desktop environments
D-Bus
NetworkManager
PulseAudio
Avahi
multitasking
operating systems
/ˈdmən/
/ˈdmən/
computer program
background process
syslogd
SSH
Unix
parent process
init
forking
terminal
boot
cron

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