答案是使用systemctl命令管理服务。启动服务用sudo systemctl start 服务名称;停止服务用sudo systemctl stop 服务名称;重启服务用sudo systemctl restart 服务名称,会中断服务;重载配置用sudo systemctl reload 服务名称,不中断连接;查看状态用systemctl status 服务名称,可显示运行状态和日志;设置开机自启用sudo systemctl enable 服务名称,禁用则用disable;查看是否启用开机启动用systemctl is-enabled 服务名称;查看详细日志用sudo journalctl -u 服务名称,支持-f实时跟踪、--since时间过滤、-p级别筛选。restart先停再启,导致中断;reload发送SIGHUP信号重载配置,保持服务连续性,但并非所有服务都支持。优先尝试reload以减少影响。

在Linux系统里,启动和停止指定服务通常通过
systemctl
service
/etc/init.d/
systemctl
要启动、停止或管理一个Linux服务,最直接的方式就是使用
systemctl
启动服务:
sudo systemctl start <服务名称>
比如,你要启动Nginx,就是
sudo systemctl start nginx
停止服务:
sudo systemctl stop <服务名称>
如果你想让Nginx停下来,就用
sudo systemctl stop nginx
重启服务:
sudo systemctl restart <服务名称>
这其实是先停止再启动,通常用于配置更改后需要完全刷新服务状态的情况。
重载服务:
sudo systemctl reload <服务名称>
这个命令很有用,它会告诉服务重新加载其配置文件,而不会中断当前正在处理的连接或任务。并不是所有服务都支持
reload
systemctl
restart
查看服务状态:
systemctl status <服务名称>
这是我最常用的命令之一。它能告诉你服务是否正在运行、PID、内存占用,以及最近的几行日志,对于快速排查问题简直是神器。
启用服务(开机自启动):
sudo systemctl enable <服务名称>
这个命令会创建一个符号链接,确保服务在系统启动时自动运行。
禁用服务(取消开机自启动):
sudo systemctl disable <服务名称>
如果你不希望某个服务随系统启动,就用这个。
记住,这些操作大多需要
sudo

让服务开机自启动,这是个非常常见的需求,也是服务管理中一个关键的环节。你总不希望每次服务器重启后,还得手动去启动Nginx、MySQL或者你自己的应用吧?老实说,我见过不少新手因为忘记设置这个,导致服务器重启后服务“失踪”的尴尬场面。
要实现开机自启动,
systemctl enable
sudo systemctl enable <服务名称>
/etc/systemd/system/multi-user.target.wants/
multi-user.target
举个例子,如果你安装了Apache HTTP服务器,想让它开机自启动:
sudo systemctl enable apache2 # Debian/Ubuntu sudo systemctl enable httpd # CentOS/RHEL
执行后,系统会告诉你创建了一个符号链接,这表示设置成功了。下次系统启动时,Apache服务就会自动加载并运行。
如果你想确认某个服务是否已经设置为开机自启动,可以这样查看:
systemctl is-enabled <服务名称>
它会返回
enabled
disabled
当然,如果你想取消一个服务的开机自启动,对应的命令就是
sudo systemctl disable <服务名称>

服务跑起来了,但它真的在正常工作吗?有没有报错?这是我们作为管理员最关心的问题之一。我个人觉得,
systemctl status
journalctl
首先是
systemctl status <服务名称>
systemctl status nginx
输出会告诉你:
如果
status
journalctl
journalctl
要查看特定服务的完整日志,你可以这样:
sudo journalctl -u <服务名称>
比如,查看Nginx的日志:
sudo journalctl -u nginx
这个命令会显示Nginx服务的所有历史日志。你可能需要用到一些参数来过滤日志:
sudo journalctl -u nginx -f
tail -f
sudo journalctl -u nginx --since "2 hours ago"
sudo journalctl -u nginx -p err
通过这两个命令的配合使用,你基本上能掌握服务的运行状况,并且在遇到问题时,能够迅速找到线索。

systemctl restart
systemctl reload
restart
说白了:
systemctl restart <服务名称>
restart
systemctl reload <服务名称>
reload
SIGHUP
reload
reload
systemctl
restart
什么时候用哪个?
用 restart
用 reload
在实际工作中,我通常会优先尝试
reload
restart
以上就是Linux如何启动和停止指定服务的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号