The characteristics are divided into 3 categories:-
Asynchronous: Signals can be delivered to any process at any time, interrupting the flow of execution.
Limited Information: A signal carries a numeric identifier and, in some cases, a small amount of additional information.
Standardized: Many signals are standardized across UNIX-like systems, allowing for predictable behavior across different environments.
There are 2 broad categories of signals in linux:-
Standard: These are default signals with specific meanings and default behaviors. for e.g, SIGINT(2), Interrupt signal, typically sent by pressing ctrl+C.
Real-Time: These are user-defined signals that provide more flexibility and functionality. They are identified by numbers ranging from SIGRTMIN to SIGRTMAX.