什么是后台进程?

约翰·梅里诺

这是后台进程的常见定义:

“后台进程是一种无需用户输入即可运行的程序。当用户与前台进程交互时,许多后台进程可以在诸如Linux的多任务操作系统上运行。例如,从不要求用户输入,而其他仅在用户忙于当前正在前台运行的程序时暂时处于后台,因此其他进程可以处于睡眠状态并占用交换空间,直到被激活为止,这使其当前成为后台进程。”

有了这个定义,难道不会像apache2这样的进程成为后台进程,因为它永远不会与终端中的用户输入交互?难道这不考虑大多数进程后台进程,因为大多数在系统上运行的进程不会处理终端中的用户输入吗?奇怪的是,由于用户确实通过http请求(不是终端)与apache2进行交互,因此我个人不会将apache2视为后台进程。

约瑟夫·R。

前台进程不需要用户交互。你可以做

cp very_large_file destination

这将阻塞您的终端,直到复制完成,并且将被视为没有用户交互的前台进程。这里的要点是该进程是否阻止其他进程的执行,直到它终止为止。

可以将前台进程设为后台的两种方法:

1-&在命令行末尾添加“&”号

cp very_large_file destination &

2-停止前台进程,然后将其引入后台:

cp very_large_file destination

CTRL+Z

bg

现在apache2肯定可以算作一个后台进程:是的,您可以通过http请求与之交互,但是它只是侦听端口80(默认情况下)以等待这样的请求:它不会阻塞系统,直到用户发出请求为止。

为何在大多数流程中都将问题视为后台流程?在“多任务操作系统”中,这确实是正常的。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章