<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.sarg.dev/index.php?action=history&amp;feed=atom&amp;title=Background_process</id>
	<title>Background process - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.sarg.dev/index.php?action=history&amp;feed=atom&amp;title=Background_process"/>
	<link rel="alternate" type="text/html" href="https://wiki.sarg.dev/index.php?title=Background_process&amp;action=history"/>
	<updated>2026-06-25T07:23:18Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.44.2</generator>
	<entry>
		<id>https://wiki.sarg.dev/index.php?title=Background_process&amp;diff=157212&amp;oldid=prev</id>
		<title>223.104.88.158: /* Smartphones */</title>
		<link rel="alternate" type="text/html" href="https://wiki.sarg.dev/index.php?title=Background_process&amp;diff=157212&amp;oldid=prev"/>
		<updated>2025-11-03T13:00:44Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Smartphones&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Short description|Computer process that runs behind the scenes}}&lt;br /&gt;
A &amp;#039;&amp;#039;&amp;#039;background process&amp;#039;&amp;#039;&amp;#039; is a [[Process (computing)|computer process]] that runs &amp;#039;&amp;#039;behind the scenes&amp;#039;&amp;#039; (i.e., in the background) and without user intervention.&amp;lt;ref name=&amp;quot;tlt&amp;quot;&amp;gt;{{cite web|url=http://www.linux-tutorial.info/modules.php?name=MContent&amp;amp;pageid=3|title=What is an Operating System?, Processes|accessdate=14 November 2010|publisher=The Linux Tutorial|archive-date=15 August 2020|archive-url=https://web.archive.org/web/20200815081900/http://www.linux-tutorial.info/modules.php?name=MContent&amp;amp;pageid=3|url-status=dead}}&amp;lt;/ref&amp;gt; Typical tasks for these processes include logging, system monitoring, scheduling,&amp;lt;ref&amp;gt;{{cite book|url=http://www.stanford.edu/dept/itss/docs/oracle/10g/server.101/b10743/process.htm|title=Oracle Database Concepts, 10g Release 1|id=B10743-01|date=December 1993|author=Michele Cyran|publisher=Oracle Corporation|accessdate=12 November 2010|archive-date=2 March 2013|archive-url=https://web.archive.org/web/20130302105539/http://www.stanford.edu/dept/itss/docs/oracle/10g/server.101/b10743/process.htm|url-status=dead}}&amp;lt;/ref&amp;gt; and user notification.&amp;lt;ref name=&amp;quot;ios&amp;quot;&amp;gt;{{cite web|url= https://gizmodo.com/5512656/how-multitasking-works-in-the-new-iphone-os-40|title=How Multitasking Works in the New iPhone OS 4.0|date=8 April 2010|author=Jesus Diaz|accessdate=14 November 2010|publisher=Gizmodo|archiveurl= https://web.archive.org/web/20101102204211/http://gizmodo.com/5512656/how-multitasking-works-in-the-new-iphone-os-40|archivedate= 2 November 2010|url-status=live}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On a [[Microsoft Windows|Windows]] system, a background process is either a [[computer program]] that does not create a [[user interface]], or a [[Windows service]]. The former are started just as any other program is started, e.g., via [[Start menu]]. Windows services, on the other hand, are started by [[Service Control Manager]]. In [[Windows Vista]] and later, they [[Windows Service Hardening|are run in a separate session]].{{Citation Needed|date=April 2020}}&lt;br /&gt;
&lt;br /&gt;
On a [[Unix]] or [[Unix-like]] system, a background process or job can be further identified as one whose [[process group]] ID differs from its terminal group ID (TGID). (The TGID of a process is the process ID of the process group leader that opened the terminal, which is typically the login shell. The TGID identifies the control terminal of the process group.) This type of process is unable to receive keyboard signals from its parent terminal, and typically will not send output to that terminal.&amp;lt;ref name=&amp;quot;bash&amp;quot;&amp;gt;{{cite book|url=https://www.gnu.org/software/bash/manual/bashref.html#Job-Control|title=GNU Bash Reference Manual, Edition 4.1, Job Control Basics|date=23 December 2009|publisher=Free Software Foundation, Inc|accessdate=10 November 2010|archiveurl= https://web.archive.org/web/20101203065719/https://www.gnu.org/software/bash/manual/bashref.html|archivedate= 3 December 2010|url-status=live}}&amp;lt;/ref&amp;gt; This more technical definition does not distinguish between whether or not the process can receive user intervention. Although background processes are typically used for purposes needing few resources, any process can be run in the background, and such a process will behave like any other process, with the exceptions given above.&amp;lt;ref name=&amp;quot;tlt&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Windows services==&lt;br /&gt;
{{Main article|Windows service}}&lt;br /&gt;
In [[Windows NT]] family of [[operating system]]s, a Windows service is a dedicated background process.&amp;lt;ref name=&amp;quot;Services snap-in&amp;quot;&amp;gt;{{cite web|title=Services overview|url=https://technet.microsoft.com/en-us/library/cc783643%28v=ws.10%29.aspx|work=[[Microsoft TechNet]]|publisher=Microsoft|accessdate=29 March 2013}}&amp;lt;/ref&amp;gt; A Windows service must conform to the interface rules and protocols of the [[Service Control Manager]], the component responsible for managing Windows services.&amp;lt;ref name=&amp;quot;Service MSDN&amp;quot;&amp;gt;{{Cite web |url=http://msdn2.microsoft.com/en-us/library/ms685141.aspx |title=Services |work=[[Microsoft Developer Network]] |publisher=Microsoft |accessdate=29 March 2013}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Windows services can be configured to start when the operating system starts, and to run in the background as long as Windows runs. Alternatively, they can be started manually or by an event. Windows NT operating systems [[List of Microsoft Windows components#Services|include numerous services]] which run in context of three [[user account]]s: &amp;lt;code&amp;gt;System&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Network Service&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;Local Service&amp;lt;/code&amp;gt;. These Windows components are often associated with Host Process for Windows Services: [[svchost.exe]]. Since Windows services operate in the context of their own dedicated user accounts, they can operate when a user is not logged on.&lt;br /&gt;
&lt;br /&gt;
Before [[Windows Vista]], services installed as &amp;quot;interactive services&amp;quot; could interact with Windows [[desktop metaphor|desktop]] and show a [[graphical user interface]]. With Windows Vista, however, interactive services became [[deprecated]] and ceased operating properly, as a result of [[Windows Service Hardening]].&amp;lt;ref&amp;gt;{{cite web|title=New Elevation PowerToys for Windows Vista|url=https://technet.microsoft.com/en-us/magazine/2008.06.elevation.aspx|work=TechNet Magazine|publisher=[[Microsoft]]|accessdate=21 June 2013|date=June 2008|quote=The service CmdAsSystem is configured  as interactive whose support is being deprecated. The service may not function properly. The problem is that this script tries to create and start an interactive service. Interactive services will not function correctly due to Session 0 Isolation in Windows Vista.}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web|title=Services in Windows|url=http://msdn.microsoft.com/en-us/windows/hardware/gg463428.aspx|work=[[MSDN]]|publisher=[[Microsoft]]|accessdate=21 June 2013|date=18 October 2010}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The three principal means of managing Windows services are:&lt;br /&gt;
# Services snap-in for [[Microsoft Management Console]]&lt;br /&gt;
# &amp;lt;code&amp;gt;sc.exe&amp;lt;/code&amp;gt;&lt;br /&gt;
# [[Windows PowerShell]]&lt;br /&gt;
&lt;br /&gt;
==Daemon==&lt;br /&gt;
{{Main article|Daemon (computing)}}&lt;br /&gt;
A daemon is a type of background process designed to run continually in the background, waiting for event(s) to occur or condition(s) to be met.&amp;lt;ref&amp;gt;{{cite book|url=http://catb.org/~esr/jargon/html/D/daemon.html |title=The Jargon File, version 4.4.8, &amp;quot;daemon&amp;quot; |author=Eric S. Raymond |date=1 October 2004 |accessdate=10 November 2010 |archiveurl=https://web.archive.org/web/20101103102331/http://catb.org/~esr/jargon/html/D/daemon.html |archivedate=3 November 2010 |url-status=live }}&amp;lt;/ref&amp;gt;  When launched with the &amp;#039;&amp;#039;daemon&amp;#039;&amp;#039; function, daemons are disassociated from their parent terminal.&amp;lt;ref&amp;gt;{{cite book|url=http://libslack.org/daemon/manpages/daemon.1.html|title=Linux User&amp;#039;s Manual, &amp;quot;daemon&amp;quot;|author=raf|date=12 June 2010|accessdate=10 November 2010|archiveurl= https://web.archive.org/web/20101021032110/http://libslack.org/daemon/manpages/daemon.1.html|archivedate= 21 October 2010|url-status=live}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Background jobs in Unix==&lt;br /&gt;
{{main article|Job control (Unix)}}&lt;br /&gt;
From a Unix command line, a background process can be launched using the &amp;quot;&amp;amp;&amp;quot; operator.  The &amp;#039;&amp;#039;bg&amp;#039;&amp;#039; command can resume a suspended job (sending [[SIGCONT]]), running it in the background.  Using the &amp;#039;&amp;#039;fg&amp;#039;&amp;#039; command will also reconnect standard input its parent terminal, bringing it into the foreground.  The &amp;#039;&amp;#039;jobs&amp;#039;&amp;#039; command will list all processes associated with the current terminal and can be used to bring background processes into the foreground.&amp;lt;ref name=&amp;quot;bash&amp;quot; /&amp;gt;&amp;lt;ref&amp;gt;{{cite web|url=http://www.astro.ku.dk/comp-phys/tutorials/background.shtml|title=Background Processes in Unix/Linux|author=Åke Nordlund|date=7 February 2007|accessdate=10 November 2010|archive-url=https://web.archive.org/web/20120213174734/http://www.astro.ku.dk/comp-phys/tutorials/background.shtml|archive-date=13 February 2012|url-status=dead}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When a [[login session]] ends, via explicit logout or network disconnection, all processes, including background processes, will by default be terminated, to prevent them from becoming [[orphan process]]es. Concretely, when the user exits the launching shell process, as part of shutdown it sends a &amp;#039;&amp;#039;hangup&amp;#039;&amp;#039; signal ([[SIGHUP]]) to all its [[Job control (Unix)|jobs]], to terminate all the processes in the corresponding [[process group]]. To have processes continue to run, one can either not end the session, or end the session without terminating the processes. A [[terminal multiplexer]] can be used to leave a session running but detach a virtual terminal from it, leaving processes running as child processes of the session; the user can then reattach session later. Or, termination can be prevented by either starting the process via the [[nohup]] command (telling the process to ignore SIGHUP), or by subsequently running [[disown (Unix)|&amp;lt;code&amp;gt;disown&amp;lt;/code&amp;gt;]] with the job id, which either removes the job from the job list entirely, or simply prevents SIGHUP from being sent. In the latter case when the session ends, the child processes are not terminated, either because they are not sent SIGHUP or because they ignore it, and thus become orphan processes, which are then adopted by the [[init]] process (the kernel sets the init process as their parent), and they continue running without a session, now called &amp;#039;&amp;#039;[[Daemon (computer software)|daemons]]&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
===Example===&lt;br /&gt;
In this example running on [[Unix]], the &amp;#039;&amp;#039;sleep&amp;#039;&amp;#039; utility was launched into the background.  Afterward, the &amp;#039;&amp;#039;ps&amp;#039;&amp;#039; tool was run in the foreground, where it output the below text.  Both were launched from the shell.&amp;lt;ref&amp;gt;{{cite web |url=http://pubs.opengroup.org/onlinepubs/7999959899/utilities/ps.html|title=POSIX &amp;quot;ps&amp;quot;|work=IEEE Std 1003.1, 2004 Edition}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
  PID TT  STAT    TIME COMMAND&lt;br /&gt;
54659 10  S    0:00.06 su (zsh)&lt;br /&gt;
54703 10  IN   0:00.00 - sleep 1000&lt;br /&gt;
54852 10  R+   0:00.00 - ps -U botty -axd&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Smartphones==&lt;br /&gt;
Many newer versions of [[smartphone]] and PDA [[operating system]]s now include the ability to start background processes. Due to hardware limits, background processes on mobile operating systems are often restricted to certain tasks or consumption levels. On [[Android (operating system)|Android]], CPU use for background processes may be bounded at 5–10%.&amp;lt;ref name=&amp;quot;phone&amp;quot;&amp;gt;{{cite web|url=https://gizmodo.com/5527407/giz-explains-how-multitasking-works-on-a-phone|title=Giz Explains: How Multitasking Works on a Phone|author=Matt Buchanan|date=2010-04-29|publisher=Gizmodo|accessdate=14 November 2010|archiveurl= https://web.archive.org/web/20101017123040/http://gizmodo.com/5527407/giz-explains-how-multitasking-works-on-a-phone|archivedate=17 October 2010|url-status=live}}&amp;lt;/ref&amp;gt;  Applications on Apple&amp;#039;s [[iOS]] are limited to a subset of functions while running in the background.&amp;lt;ref name=&amp;quot;ios&amp;quot;/&amp;gt; On both iOS and Android, background processes, as well as background or unused apps, can be killed by the system if they are using too much memory or too much battery power.&amp;lt;ref name=&amp;quot;ios&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;phone&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* [[Batch processing]]&lt;br /&gt;
* [[Computer multitasking]]&lt;br /&gt;
* [[Process group]]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
{{reflist|30em}}&lt;br /&gt;
&lt;br /&gt;
{{DEFAULTSORT:Background Process}}&lt;br /&gt;
[[Category:Process (computing)]]&lt;/div&gt;</summary>
		<author><name>223.104.88.158</name></author>
	</entry>
</feed>