Processes can be of different types according to the task being performed. Here are some different process types along with their descriptions and examples.
|Interactive Processes||Need to be started by a user, either at a command line or through a graphical interface such as an icon or a menu selection.||bash, firefox, top|
|Batch Processes||Automatic processes which are scheduled from and then disconnected from the terminal. These tasks are queued and work on a FIFO (First In, First Out) basis.||updatedb|
|Daemons||Server processes that run continuously. Many are launched during system startup and then wait for a user or system request indicating that their service is required.||httpd, xinetd, sshd|
|Threads||Lightweight processes. These are tasks that run under the umbrella of a main process, sharing memory and other resources, but are scheduled and run by the system on an individual basis. An individual thread can end without terminating the whole process and a process can create new threads at any time. Many non-trivial programs are multi-threaded.||gnome-terminal, firefox|
|Kernel Threads||Kernel tasks that users neither start nor terminate and have little control over. These may perform actions like moving a thread from one CPU to another, or making sure input/output operations to disk are completed.||kswapd0, migration, ksoftirqd|