如何控制linux启动服务和守护进程

Linux在“后台”运行许多应用程序,您甚至可能不知道这些应用程序。下面是如何控制它们。...

刚刚启动,但你的系统仍然感觉缓慢和迟钝?Linux在“后台”运行许多应用程序,您甚至可能不知道这些应用程序。下面是如何控制它们。

control-linux-startup

linux启动

我们都知道这个练习:你按下电脑上的电源按钮,等一下,然后回到一个好看的登录。但是在那段时间里会发生什么?旧的Linux用户将记住将滚动的诊断消息的页面(页面和页面)。这些消息包含了正在加载的驱动程序、找到的文件系统和正在启动的不同进程的信息。

让我们快速看看“开机”和“桌面登录”之间发生了什么

  1. 当您打开计算机时,BIOS将加载。这是硬件**商提供的软件(与操作系统分开),包含要从中启动会话的设备的设置。
  2. 根据这些设置,BIOS将控制权传递给计算机的一个物理磁盘,特别是引导加载程序。虽然引导加载程序可以设置为包含配置数据,但它的主要任务是将控制权传递给操作系统。如果您的计算机有多个操作系统,它提供了一个从操作系统中进行选择的接口。GRUB是大多数现代Linux发行版的标准引导加载程序。
  3. 引导加载程序启动Linux操作系统时,将加载内核(或操作系统的核心)。这将连接到您的硬件,然后它启动一个进程,我们称之为启动进程。
  4. 这个启动过程依次负责启动系统中的所有其他进程。这包括服务器应用程序(包括将出现漂亮桌面登录的X服务器进程)、所谓的“守护程序”(在后台等待特定事件的程序,如CUPS打印守护程序)和其他程序(如按计划执行程序的cron守护程序)。

这是我们关心的最后一步。通过设置和调整配置,您可以精确地控制默认启动的内容。

守护程序与服务

在本文中,我们将互换使用这些术语。两者之间存在技术上的差异,超出了本文的讨论范围。但出于我们的目的,它们是相同的,因为它们可以被我们将要回顾的工具控制。

为什么要摆弄这些设置?

你为什么要为这些烦恼呢?保留默认值不是更好吗?

了解如何配置计算机启动时启动的内容可以提供以下几个好处:

  • 首先,它可以提高性能。还记得你安装Apache试用新web应用的时候吗?不?好吧,你猜怎么着,除非你卸载了它,否则web服务器是在后台运行的,占用了宝贵的RAM。调整启动设置意味着您可以保持安装状态,但只需在需要时启动即可。(请在此处查看其他一些提高性能的技巧。)
  • 此外,其中一些程序可能会引发安全问题。例如,前面提到的Apache在运行时将打开以与端口80联系。如果Apache存在安全问题,那么向世界开放该端口可能会使您的系统处于危险之中。最好在需要时启动服务器,完成后立即关闭。

当前启动流程

今天的Linux系统使用一些主要的启动系统,如下所述。

初始化

长期以来,init一直是标准的启动系统,它的历史可以追溯到Linux所基于的原始Unix系统(其专有名称是SysVInit,取自systemv Unix)。init系统基于一组启动脚本,保存在/etc/init.d或/etc/rc.d目录中,以及“runlevels”的概念,这就是为什么当你启动其中一个发行版时,你会立即得到一个基于X系统的图形桌面登录。

007Ys3FFgy1h1omuhu14yj30ik0gljs1

init系统遵循Unix哲学,因为它只做一件事,而且做得很好。该系统的支持者提出的一个论点是,它不会试图做太多,不像下面的一些替代方案。

新贵

Upstart系统是Canonical试图取代老化的init系统的尝试。它提供了与init系统的兼容性,但也提供了其他特性。对“事件”的支持允许它对系统中的更改做出反应,例如**新硬件。此外,Upstart可以与旧的init配置一起工作,为旧的包和软件提供向后支持。

然而,一旦Debian(Ubuntu软件包的上游源)切换到systemd,Canonical决定也这样做。Ubuntu 15.04(生动的Vervet)的发布是第一个默认情况下使用新的启动系统的版本。

系统

它挑起了我们这个时代一场伟大的火焰战争。鉴于init(这里重点介绍)的缺陷,systemd(或系统守护进程)被开发出来。这使用了一个全新的系统,目标是“在满足所有条件时”启动一个服务。然而,与Upstart一样,它仍然可以支持许多包提供的init样式的脚本,只有少数值得注意的例外。

007Ys3FFgy1h1omuiyz6yj30im08pt9l

请注意上图中目录的名称,如“这东西想要什么”这演示了systemd的“按需”行为——当某个东西“想要”蓝牙访问并且满足条件时,systemd将为它启动服务。

管理守护程序/服务的工具

虽然从命令行学习如何这样做不会有什么坏处(检查init/Upstart的service命令和systemd的sysctl),但下面是一些用于管理服务的帮助程序。虽然您可能需要调整它们的配置,但总的来说,您要么启用它们,要么将它们设置为默认自动运行,要么禁用它们。请注意,禁用的服务仍然可以随时启动(随后停止)。

初始d

对于许多用户,rcconf工具(与前面提到的服务结合)将完成您需要的一切。文本用户界面(TUI)列出了所有可用服务。您可以使用箭头键上下移动列表,空格键可切换服务是否应该启动(星号)。使用Tab键在列表和OK/Cancel按钮之间移动,空格键也可以选择它们。

在Ubuntu中安装如下:

sudo apt-get install rcconf

007Ys3FFgy1h1omuk558xj30im09dq37

Red Hat开发了服务配置工具,这是一种图形应用程序,默认情况下也会出现在CentOS和Fedora等衍生产品中。它提供了一个类似于上面rcconf的列表,并提供了一个类似的列表,该列表能够检查和取消检查服务,以便将它们设置为默认运行或不运行。它还提供了允许您启动/停止/重新启动这些服务的按钮。

007Ys3FFgy1h1omuknvgej30gz0g5759

系统

KDE开发人员为他们的系统设置应用程序创建了一个模块来控制systemd服务。它位于“系统管理”类别下,允许您查看服务(或“单元”)的状态、启用/禁用和编辑配置。它还包含systemd配置文件的编辑器。

007Ys3FFgy1h1omul718sj30im089wet

在Ubuntu中安装如下:

sudo apt-get install kde-config-systemd

SystemdManager是一个基于GTK的应用程序,在某些存储库(包括Fedora和Arch)中可用,而Ubuntu用户可以从它的GitHub页面(不再可用)获取一个.DEB文件。UI有点不同,因为它是用Rust编写的,但是很容易找到启用/禁用和启动/停止服务的控件,而大的中心窗格允许您编辑配置。

下载软件包后,可以使用以下工具进行安装:

sudo dpkg -i systemd-manager-download.deb

007Ys3FFgy1h1omulu6gpj30im0dwmxz

同样对于基于GTK的桌面,systemadm工具提供了一种启动/停止/重新启动服务的方法。在Ubuntu中安装如下:

sudo apt-get install systemd-ui

007Ys3FFgy1h1omumeeadj30im0b5dgf

未来是有系统的

虽然我们同样强调了本文中的两个主要的启动管理系统init和systemd,但大多数主流发行版都在向后者发展。甚至是创建了自己的替代方案的Canonical也看到了墙上的文字,默认情况下包括systemd。

你有偏好吗?或者这些只是你看不见的背景过程?有什么技巧或窍门来管理这些事情吗?请在评论中告诉我们!

  • 发表于 2021-03-15 11:22
  • 阅读 ( 215 )
  • 分类:IT

你可能感兴趣的文章

什么是容器linux?您应该使用它吗?

...在启动时启动。此外,在启动时,云配置文件让主机知道如何加入现有集群。这个 ...

  • 发布于 2021-03-15 05:37
  • 阅读 ( 211 )

如何在安全容器中使用docker安全测试桌面应用程序

...dockerd”守护进程正在运行来确认系统正在运行(您知道如何使用ps、grep和管道,不是吗?): ...

  • 发布于 2021-03-15 18:37
  • 阅读 ( 249 )

如何捕获和删除mac上隐藏的启动守护程序和启动代理

... 我们将向您展示如何监视这些隐藏的登录项并对其采取操作,以解决独特的Mac问题。 ...

  • 发布于 2021-03-24 13:36
  • 阅读 ( 399 )

linux中的进程是什么?

... 流程如何开始 ...

  • 发布于 2021-03-27 02:21
  • 阅读 ( 240 )

如何使用cockpit web界面管理linux服务器

...机。它是独立的,设置简单,使用方便。我们将向您展示如何开始。 管理多个linux服务器 如果您要监视多台Linux计算机或服务器,您将面临一个挑战。这是特别真实的,如果其中一些是运行无头系统没有显示器连接。例如,您...

  • 发布于 2021-04-01 00:16
  • 阅读 ( 297 )

如何在启动时用systemd运行linux程序

...建集成服务的过程,甚至与杂志进行对话。 本教程演示如何设置启动系统时启动的系统服务。要在登录时启动图形程序,请改用桌面的启动管理器。 启动时运行程序 有时,您在计算机上安装的软件会将自己连接到Linux启动过...

  • 发布于 2021-04-01 17:43
  • 阅读 ( 285 )

为什么linux的systemd在这么多年后仍然存在分歧

...也去不了 我喜欢systemd的一些功能(简单和标准化的过程控制机制)。我不理解它的一些功能(二进制日志)的基本原理。我也不喜欢它的一些功能(修改主文件夹是谁要求的?)。 像Debian这样的发行版正在做一件聪明的事情,...

  • 发布于 2021-04-02 02:56
  • 阅读 ( 178 )

如何使用journalctl读取linux系统日志

随着systemd的引入,Linux系统日志记录发生了变化。了解如何使用journalctl命令读取和过滤系统日志消息。 集中式日志记录 对争议并不陌生,systemd系统和****器在收集系统日志的方式上引入了一个重大的改变。根据创建日志的服...

  • 发布于 2021-04-02 17:06
  • 阅读 ( 175 )

如何在linux上使用free命令

...用。它的输出可能会让新手感到困惑,但我们将向您展示如何理解它。 自由命令 free命令在终端窗口中打印内存使用情况的快速摘要。它没有太多的选择和技巧,也不需要花太多的时间和精力去学习如何使用它。然而,要学会...

  • 发布于 2021-04-02 19:12
  • 阅读 ( 176 )

linux上的交换是什么?(以及如何更改)

...。 对于拥有最新硬件的普通桌面用户来说?保持原样。 如何设置linux交换值 在更改交换值之前,您需要知道它的当前值是什么。如果你想减少一点,问题是比什么少一点?使用此命令可以找到: cat /proc/sys/vm/swappiness 要配置交...

  • 发布于 2021-04-02 20:43
  • 阅读 ( 181 )
wy0828068400
wy0828068400

0 篇文章

相关推荐