首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >什么是背景过程?

什么是背景过程?
EN

Ask Ubuntu用户
提问于 2014-04-15 10:30:04
回答 3查看 2.9K关注 0票数 3

我一直都听说过背景(但不是桌面背景)进程。但我不明白它们到底是什么。举个例子,请看我在这里引用的这个链接守护进程、服务和进程之间的技术区别是什么?的答案:

守护进程-守护进程..。它们是在后台运行的进程,不具有交互性。他们没有控制终端。

它们的用途是什么?另外,是否有任何相关命令来显示在后台运行的进程?

EN

回答 3

Ask Ubuntu用户

回答已采纳

发布于 2014-04-15 11:04:25

简单的定义是一个没有连接到活动终端或显示器的进程.但实现这一目标有多种方法:

  • 我们所认为的大多数后台进程都是系统服务。它们通常是由高级init守护进程(Upstart、Systemd等)启动的,并且通常仍然是该守护进程的子进程。它的输出将被init守护进程还押用于日志记录。
  • 断开关联的进程是将进程的父进程更改为PID=0,/sbin/init的地方。这意味着即使您关闭了终端或X会话,进程也将保持不变(只要它不依赖于其他事情--比如X会话)。实现这一点的方法有很多。。除非另有重定向,否则在断开关联的进程的终端死后的输出不会发生任何变化。需要注意的是,不关联不一定意味着背景,但是如果当前终端死了,进程就会自动被认为是“背景中的”,因为它无法管理它的IO。
  • 还有一些虚拟shell,它们本身可以在后台运行,并为您“保存”活动进程。screen可能就是这方面最好的例子。它允许您断开和重新连接到各种终端会话,如果您需要在服务器上保留终端工作流(或者无限期地运行输出的东西,比如irssi客户机),这是很方便的。
  • 最后,有shell定义。许多shell(命令行接口,如Bash)允许您后台处理一个进程。这意味着IO文件STDOUT、STDIN和STDERR与当前终端断开连接。该进程在自己的线程中继续运行,您将得到另一个提示。进程不会自动断开,因此如果Bash会话关闭,那么它的所有后台任务也是如此。下面是一个使用Bash的简单示例
票数 8
EN

Ask Ubuntu用户

发布于 2014-04-15 10:35:41

背景意味着在您的系统上运行的进程在桌面上不可见(即。它不需要在桌面上打开应用程序)。

查看所有进程的命令称为'ps‘。使用ps -ef的示例:

代码语言:javascript
复制
 ps -ef
UID        PID  PPID  C STIME TTY          TIME CMD
root         1     0  0 apr10 ?        00:00:02 /sbin/init
root         2     0  0 apr10 ?        00:00:00 [kthreadd]
root         3     2  0 apr10 ?        00:00:07 [ksoftirqd/0]
root         5     2  0 apr10 ?        00:00:00 [kworker/0:0H]
root         7     2  0 apr10 ?        00:00:33 [rcu_sched]
root         8     2  0 apr10 ?        00:00:00 [rcu_bh]
root         9     2  0 apr10 ?        00:00:01 [migration/0]
root        10     2  0 apr10 ?        00:00:02 [watchdog/0]
root        11     2  0 apr10 ?        00:00:02 [watchdog/1]
root        12     2  0 apr10 ?        00:00:01 [migration/1]
root        13     2  0 apr10 ?        00:00:07 [ksoftirqd/1]
root        15     2  0 apr10 ?        00:00:00 [kworker/1:0H]

时间要长得多。例如,如果你想找到铬,你可以这样做ps -ef | grep chromium

代码语言:javascript
复制
ps -ef |grep chrom
xxxxxx    2874  1207  0 apr10 ?        00:54:28 /usr/lib/chromium-browser/chromium-browser --enable-pinch
xxxxxx    2880  2874  0 apr10 ?        00:00:04 /usr/lib/chromium-browser/chromium-browser --enable-pinch
xxxxxx    2881  2874  0 apr10 ?        00:00:00 /usr/lib/chromium-browser/chrome-sandbox /usr/lib/chromium-browser/chromium-browser --type=zygote
xxxxxx    2882  2881  0 apr10 ?        00:00:00 chromium-browser --type=zygote                          
xxxxxx    2888  2882  0 apr10 ?        00:00:00 chromium-browser --type=zygote                          

常用的查看进程的程序有tophtop

您可以使用此列表从命令行杀死进程。

系统监视器可用于查看后台任务:

票数 6
EN

Ask Ubuntu用户

发布于 2014-04-16 07:07:11

后台进程只是在后台独立运行的进程,不影响任何前台进程。

您可以参考:http://cs.brown.edu/courses/bridge/1998/res/UnixGuide.html获得更多详细信息。

票数 1
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/448015

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档