为什么作为服务禁用的程序仍在系统启动时运行?

为什么作为服务禁用的程序仍在系统启动时运行?

我在台式机和笔记本电脑上安装了 Tor(将其作为节点运行,而不仅仅是浏览器)。但由于我几乎一直使用台式机,并且互联网连接相同,因此我只在台式机上运行 Tor,但在笔记本电脑上,我想禁用它,但不想卸载 Tor。

我在实用程序的帮助下禁用了它(至少我认为如此)sysrv-conf。没有检查任何运行级别。

但当我重新启动笔记本电脑时,我看到 Tor 正在运行:

$ps aux | grep tor
........ /usr/lib/bin/tor ..........

日志文件表明 Tor 执行了一些活动:

$tail /var/log/tor/log
...... Tor has successfully opened a circuit. Looks like client functionality is working.

有人能解释一下发生了什么吗?我认为每个在后台启动并运行的程序,无需用户帮助,都被视为服务/守护进程,可以禁用。但我认为,这种想法与这种情况不符。

答案1

这里发生的事情是,自从 Ubuntu 15.04 以来,Ubuntu 发行版使用systemdinit-service 而不是 SysVinit 或 Upstart。因此必须使用以下命令禁用服务:

sudo systemctl disable SERVICENAME.service

如果有人对这些东西感到困惑:初始化服务、systemd、SysVinit、Upstart我建议你阅读第 15 章“启动和停止服务”Linux 圣经,作者:Chris Negus

相关内容