Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Signal (IPC)
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{short description|Form of inter-process communication in computer systems}} {{About|form of inter-process communication|event-driven processing concept|Signal programming}} {{Use dmy dates|date=February 2021}} {{More citations needed|date=August 2012}} '''Signals''' are standardized messages sent to a running [[Computer program|program]] to trigger specific behavior, such as quitting or error handling. They are a limited form of [[inter-process communication]] (IPC), typically used in [[Unix]], [[Unix-like]], and other [[POSIX]]-compliant operating systems. A signal is an [[Asynchrony (computer programming)|asynchronous]] notification sent to a [[Process (computing)|process]] or to a specific [[Thread (computing)|thread]] within the same process to notify it of an event. Common uses of signals are to interrupt, suspend, terminate or [[kill (command)|kill]] a process. Signals originated in 1970s [[Bell Labs]] Unix and were later specified in the [[POSIX]] standard. When a signal is sent, the operating system interrupts the target process's normal [[Control flow|flow of execution]] to deliver the signal. Execution can be interrupted during any [[Atomic operation|non-atomic instruction]]. If the process has previously registered a '''signal handler''', that routine is executed. Otherwise, the default signal handler is executed. Embedded programs may find signals useful for inter-process communications, as signals are notable for their [[algorithmic efficiency]]. Signals are similar to [[interrupt]]s, the difference being that interrupts are mediated by the [[Central_processing_unit|CPU]] and handled by the [[Kernel (operating system)|kernel]] while signals are mediated by the kernel (possibly via system calls) and handled by individual [[Process_(computing)|processes]].{{cn |date=May 2022}} The kernel may pass an interrupt as a signal to the process that caused it (typical examples are [[SIGSEGV]], [[SIGBUS]], [[#SIGILL|SIGILL]] and [[#SIGFPE|SIGFPE]]).
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)